Skip to content

Commit 04b3b52

Browse files
authored
Merge pull request #1195 from magento-troll/TrollPR
MAGETWO-54066: [GITHUB] Invalid event prefix for catalog inventory #4857
2 parents 711ad81 + 91335c2 commit 04b3b52

File tree

4 files changed

+26
-18
lines changed

4 files changed

+26
-18
lines changed

app/code/Magento/CatalogInventory/Model/Stock.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class Stock extends AbstractExtensibleModel implements StockInterface
3232
*
3333
* @var string
3434
*/
35-
protected $eventObject = 'stock';
35+
protected $_eventObject = 'stock';
3636

3737
const BACKORDERS_NO = 0;
3838

app/code/Magento/CatalogInventory/Model/Stock/Item.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class Item extends AbstractExtensibleModel implements StockItemInterface
4343
*
4444
* @var string
4545
*/
46-
protected $eventObject = 'item';
46+
protected $_eventObject = 'item';
4747

4848
/**
4949
* Store model manager

app/code/Magento/CatalogInventory/Test/Unit/Model/Stock/ItemTest.php

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -477,33 +477,37 @@ public function getQtyIncrementsDataProvider()
477477
*
478478
* @param $eventName
479479
* @param $methodName
480+
* @param $objectName
480481
*
481482
* @dataProvider eventsDataProvider
482483
*/
483-
public function testDispatchEvents($eventName, $methodName)
484+
public function testDispatchEvents($eventName, $methodName, $objectName)
484485
{
485486
$isCalledWithRightPrefix = 0;
487+
$isObjectNameRight = 0;
486488
$this->eventDispatcher->expects($this->any())->method('dispatch')->with(
487489
$this->callback(function ($arg) use (&$isCalledWithRightPrefix, $eventName) {
488490
$isCalledWithRightPrefix |= ($arg === $eventName);
489491
return true;
490492
}),
491-
$this->anything()
493+
$this->callback(function ($data) use (&$isObjectNameRight, $objectName) {
494+
$isObjectNameRight |= isset($data[$objectName]);
495+
return true;
496+
})
492497
);
493498

494499
$this->item->$methodName();
495-
$this->assertEquals(
496-
1,
497-
(int) $isCalledWithRightPrefix,
498-
sprintf("Event %s doesn't dispatched", $eventName)
500+
$this->assertTrue(
501+
($isCalledWithRightPrefix && $isObjectNameRight),
502+
sprintf('Event "%s" with object name "%s" doesn\'t dispatched properly', $eventName, $objectName)
499503
);
500504
}
501505

502506
public function eventsDataProvider()
503507
{
504508
return [
505-
['cataloginventory_stock_item_save_before', 'beforeSave'],
506-
['cataloginventory_stock_item_save_after', 'afterSave'],
509+
['cataloginventory_stock_item_save_before', 'beforeSave', 'item'],
510+
['cataloginventory_stock_item_save_after', 'afterSave', 'item'],
507511
];
508512
}
509513
}

app/code/Magento/CatalogInventory/Test/Unit/Model/StockTest.php

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,33 +100,37 @@ public function setUp()
100100
*
101101
* @param $eventName
102102
* @param $methodName
103+
* @param $objectName
103104
*
104105
* @dataProvider eventsDataProvider
105106
*/
106-
public function testDispatchEvents($eventName, $methodName)
107+
public function testDispatchEvents($eventName, $methodName, $objectName)
107108
{
108109
$isCalledWithRightPrefix = 0;
110+
$isObjectNameRight = 0;
109111
$this->eventDispatcher->expects($this->any())->method('dispatch')->with(
110112
$this->callback(function ($arg) use (&$isCalledWithRightPrefix, $eventName) {
111113
$isCalledWithRightPrefix |= ($arg === $eventName);
112114
return true;
113115
}),
114-
$this->anything()
116+
$this->callback(function ($data) use (&$isObjectNameRight, $objectName) {
117+
$isObjectNameRight |= isset($data[$objectName]);
118+
return true;
119+
})
115120
);
116121

117122
$this->stockModel->$methodName();
118-
$this->assertEquals(
119-
1,
120-
(int) $isCalledWithRightPrefix,
121-
sprintf("Event %s doesn't dispatched", $eventName)
123+
$this->assertTrue(
124+
($isCalledWithRightPrefix && $isObjectNameRight),
125+
sprintf('Event "%s" with object name "%s" doesn\'t dispatched properly', $eventName, $objectName)
122126
);
123127
}
124128

125129
public function eventsDataProvider()
126130
{
127131
return [
128-
['cataloginventory_stock_save_before', 'beforeSave'],
129-
['cataloginventory_stock_save_after', 'afterSave'],
132+
['cataloginventory_stock_save_before', 'beforeSave', 'stock'],
133+
['cataloginventory_stock_save_after', 'afterSave', 'stock'],
130134
];
131135
}
132136
}

0 commit comments

Comments
 (0)