Skip to content

Commit 94910dc

Browse files
committed
MAGETWO-59555: Mass Actions are slow
- Added code to fix build failures - Fixed unit tests
1 parent bd9e1c8 commit 94910dc

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

app/code/Magento/Ui/Component/MassAction/Filter.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,17 @@ public function getComponent()
8888
*/
8989
public function getCollection(AbstractDb $collection)
9090
{
91+
$selected = $this->request->getParam(static::SELECTED_PARAM);
92+
$excluded = $this->request->getParam(static::EXCLUDED_PARAM);
93+
94+
$isExcludedIdsValid = (is_array($excluded) && !empty($excluded));
95+
$isSelectedIdsValid = (is_array($selected) && !empty($selected));
96+
97+
if ('false' !== $excluded) {
98+
if (!$isExcludedIdsValid && !$isSelectedIdsValid) {
99+
throw new LocalizedException(__('Please select item(s).'));
100+
}
101+
}
91102
$idsArray = $this->getFilterIds();
92103
if (!empty($idsArray)) {
93104
$collection->addFieldToFilter(

app/code/Magento/Ui/Test/Unit/Component/MassAction/FilterTest.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,10 @@ public function testApplySelectionOnTargetProvider($selectedIds, $excludedIds, $
134134
public function applySelectionOnTargetProviderDataProvider()
135135
{
136136
return [
137-
[[1, 2, 3], false , 1, 'in'],
137+
[[1, 2, 3], 'false' , 0, 'in'],
138138
[[1, 2, 3], [1, 2, 3] , 1, 'nin'],
139-
[false, [1, 2, 3] , 1, 'nin'],
140-
[false, false , 0, '']
139+
['false', [1, 2, 3] , 1, 'nin'],
140+
['false', 'false' , 0, '']
141141
];
142142
}
143143

@@ -184,10 +184,18 @@ public function testApplySelectionOnTargetProviderException()
184184
public function testGetCollection($selectedIds, $excludedIds, $filterExpected, $conditionExpected)
185185
{
186186
$this->setUpApplySelection($selectedIds, $excludedIds, $filterExpected, $conditionExpected);
187-
$this->requestMock->expects($this->at(2))
187+
$this->requestMock->expects($this->at(4))
188188
->method('getParam')
189189
->with('namespace')
190190
->willReturn('');
191+
$this->requestMock->expects($this->at(2))
192+
->method('getParam')
193+
->with(Filter::SELECTED_PARAM)
194+
->willReturn($selectedIds);
195+
$this->requestMock->expects($this->at(3))
196+
->method('getParam')
197+
->with(Filter::EXCLUDED_PARAM)
198+
->willReturn($excludedIds);
191199
$this->assertEquals($this->abstractDbMock, $this->filter->getCollection($this->abstractDbMock));
192200
}
193201

0 commit comments

Comments
 (0)