5
5
*/
6
6
namespace Magento \CatalogInventory \Model \Stock ;
7
7
8
+ use Magento \Indexer \Model \Indexer \State ;
9
+
8
10
class ItemTest extends \PHPUnit_Framework_TestCase
9
11
{
10
12
/**
@@ -21,6 +23,7 @@ protected function setUp()
21
23
22
24
/**
23
25
* @magentoDataFixture Magento/Catalog/_files/products.php
26
+ * @magentoAppIsolation enabled
24
27
*/
25
28
public function testSaveWithNullQty ()
26
29
{
@@ -31,11 +34,11 @@ public function testSaveWithNullQty()
31
34
$ product ->load (1 );
32
35
33
36
/** @var \Magento\CatalogInventory\Model\Stock\StockItemRepository $stockItemRepository */
34
- $ stockItemRepository = $ product = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
37
+ $ stockItemRepository = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
35
38
->create ('Magento\CatalogInventory\Model\Stock\StockItemRepository ' );
36
39
37
40
/** @var \Magento\CatalogInventory\Api\StockItemCriteriaInterface $stockItemCriteria */
38
- $ stockItemCriteria = $ product = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
41
+ $ stockItemCriteria = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
39
42
->create ('Magento\CatalogInventory\Api\StockItemCriteriaInterface ' );
40
43
41
44
$ savedStockItem = current ($ stockItemRepository ->getList ($ stockItemCriteria )->getItems ());
@@ -60,15 +63,46 @@ public function testSaveWithNullQty()
60
63
61
64
/**
62
65
* @magentoDataFixture Magento/Catalog/_files/products.php
66
+ * @magentoAppIsolation enabled
67
+ */
68
+ public function testIndexerInvalidation ()
69
+ {
70
+ /** @var \Magento\CatalogInventory\Model\Stock\StockItemRepository $stockItemRepository */
71
+ $ stockItemRepository = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
72
+ ->create ('Magento\CatalogInventory\Model\Stock\StockItemRepository ' );
73
+
74
+ /** @var \Magento\CatalogInventory\Api\StockItemCriteriaInterface $stockItemCriteria */
75
+ $ stockItemCriteria = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
76
+ ->create ('Magento\CatalogInventory\Api\StockItemCriteriaInterface ' );
77
+ /** @var \Magento\CatalogInventory\Model\Indexer\Stock\Processor $indexerProcessor */
78
+ $ indexerProcessor = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
79
+ ->create ('Magento\CatalogInventory\Model\Indexer\Stock\Processor ' );
80
+ $ indexer = $ indexerProcessor ->getIndexer ();
81
+ $ indexer ->setScheduled (true );
82
+ $ indexer ->getState ()->setStatus (State::STATUS_VALID )->save ();
83
+
84
+ /** @var \Magento\CatalogInventory\Api\Data\StockItemInterface $savedStockItem */
85
+ $ savedStockItem = current ($ stockItemRepository ->getList ($ stockItemCriteria )->getItems ());
86
+ $ savedStockItem ->setQty (1 );
87
+ $ savedStockItem ->setIsInStock (false );
88
+ $ savedStockItem ->save ();
89
+
90
+
91
+ $ this ->assertEquals ('invalid ' , $ indexerProcessor ->getIndexer ()->getStatus ());
92
+ }
93
+
94
+ /**
95
+ * @magentoDataFixture Magento/Catalog/_files/products.php
96
+ * @magentoAppIsolation enabled
63
97
*/
64
98
public function testStockStatusChangedAuto ()
65
99
{
66
100
/** @var \Magento\CatalogInventory\Model\Stock\StockItemRepository $stockItemRepository */
67
- $ stockItemRepository = $ product = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
101
+ $ stockItemRepository = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
68
102
->create ('Magento\CatalogInventory\Model\Stock\StockItemRepository ' );
69
103
70
104
/** @var \Magento\CatalogInventory\Api\StockItemCriteriaInterface $stockItemCriteria */
71
- $ stockItemCriteria = $ product = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
105
+ $ stockItemCriteria = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
72
106
->create ('Magento\CatalogInventory\Api\StockItemCriteriaInterface ' );
73
107
74
108
$ savedStockItem = current ($ stockItemRepository ->getList ($ stockItemCriteria )->getItems ());
0 commit comments