8
8
9
9
namespace Magento \ConfigurableProduct \Model \Product ;
10
10
11
+ use Magento \TestFramework \Helper \Bootstrap ;
12
+
11
13
/**
12
14
* @magentoAppIsolation enabled
13
15
* @magentoDataFixture Magento/ConfigurableProduct/_files/product_configurable.php
@@ -26,19 +28,22 @@ class VariationHandlerTest extends \PHPUnit_Framework_TestCase
26
28
*/
27
29
protected $ _product ;
28
30
31
+ /** @var \Magento\CatalogInventory\Api\StockRegistryInterface */
32
+ protected $ stockRegistry ;
33
+
29
34
protected function setUp ()
30
35
{
31
- $ this ->_product = \ Magento \ TestFramework \ Helper \ Bootstrap::getObjectManager ()->create (
36
+ $ this ->_product = Bootstrap::getObjectManager ()->create (
32
37
'Magento\Catalog\Model\Product '
33
38
);
34
39
$ this ->_product ->load (1 );
35
- // fixture
36
40
37
- $ this ->_model = \ Magento \ TestFramework \ Helper \ Bootstrap::getObjectManager ()->create (
41
+ $ this ->_model = Bootstrap::getObjectManager ()->create (
38
42
'Magento\ConfigurableProduct\Model\Product\VariationHandler '
39
43
);
40
44
// prevent fatal errors by assigning proper "singleton" of type instance to the product
41
45
$ this ->_product ->setTypeInstance ($ this ->_model );
46
+ $ this ->stockRegistry = Bootstrap::getObjectManager ()->get ('Magento\CatalogInventory\Api\StockRegistryInterface ' );
42
47
}
43
48
44
49
/**
@@ -52,15 +57,18 @@ public function testGenerateSimpleProducts($productsData)
52
57
$ generatedProducts = $ this ->_model ->generateSimpleProducts ($ this ->_product , $ productsData );
53
58
$ this ->assertEquals (3 , count ($ generatedProducts ));
54
59
foreach ($ generatedProducts as $ productId ) {
60
+ $ stockItem = $ this ->stockRegistry ->getStockItem ($ productId );
55
61
/** @var $product \Magento\Catalog\Model\Product */
56
- $ product = \ Magento \ TestFramework \ Helper \ Bootstrap::getObjectManager ()->create (
62
+ $ product = Bootstrap::getObjectManager ()->create (
57
63
'Magento\Catalog\Model\Product '
58
64
);
59
65
$ product ->load ($ productId );
60
66
$ this ->assertNotNull ($ product ->getName ());
61
67
$ this ->assertNotNull ($ product ->getSku ());
62
68
$ this ->assertNotNull ($ product ->getPrice ());
63
69
$ this ->assertNotNull ($ product ->getWeight ());
70
+ $ this ->assertEquals ('1 ' , $ stockItem ->getIsInStock ());
71
+
64
72
}
65
73
}
66
74
@@ -71,14 +79,12 @@ public function testGenerateSimpleProducts($productsData)
71
79
*/
72
80
public function testGenerateSimpleProductsWithPartialData ($ productsData )
73
81
{
74
- $ objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
75
- /** @var \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry */
76
- $ stockRegistry = $ objectManager ->get ('Magento\CatalogInventory\Api\StockRegistryInterface ' );
77
82
$ this ->_product ->setNewVariationsAttributeSetId (4 );
78
83
$ generatedProducts = $ this ->_model ->generateSimpleProducts ($ this ->_product , $ productsData );
84
+ $ parentStockItem = $ this ->stockRegistry ->getStockItem ($ this ->_product ->getId ());
79
85
foreach ($ generatedProducts as $ productId ) {
80
- $ stockItem = $ stockRegistry ->getStockItem ($ productId );
81
- $ this ->assertEquals (' 0 ' , $ stockItem ->getManageStock ());
86
+ $ stockItem = $ this -> stockRegistry ->getStockItem ($ productId );
87
+ $ this ->assertEquals ($ parentStockItem -> getManageStock () , $ stockItem ->getManageStock ());
82
88
$ this ->assertEquals ('1 ' , $ stockItem ->getIsInStock ());
83
89
}
84
90
}
0 commit comments