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
14
16
*/
15
17
class VariationHandlerTest extends \PHPUnit_Framework_TestCase
16
18
{
17
- /**
18
- * Object under test
19
- *
20
- * @var \Magento\ConfigurableProduct\Model\Product\VariationHandler
21
- */
22
- protected $ _model ;
19
+ /** @var \Magento\ConfigurableProduct\Model\Product\VariationHandler */
20
+ private $ _model ;
23
21
24
- /**
25
- * @var \Magento\Catalog\Model\Product
26
- */
27
- protected $ _product ;
22
+ /** @var \Magento\Catalog\Model\Product */
23
+ private $ _product ;
24
+
25
+ /** @var \Magento\CatalogInventory\Api\StockRegistryInterface */
26
+ private $ stockRegistry ;
28
27
29
28
protected function setUp ()
30
29
{
31
- $ this ->_product = \ Magento \ TestFramework \ Helper \ Bootstrap::getObjectManager ()->create (
30
+ $ this ->_product = Bootstrap::getObjectManager ()->create (
32
31
'Magento\Catalog\Model\Product '
33
32
);
34
33
$ this ->_product ->load (1 );
35
- // fixture
36
34
37
- $ this ->_model = \ Magento \ TestFramework \ Helper \ Bootstrap::getObjectManager ()->create (
35
+ $ this ->_model = Bootstrap::getObjectManager ()->create (
38
36
'Magento\ConfigurableProduct\Model\Product\VariationHandler '
39
37
);
40
38
// prevent fatal errors by assigning proper "singleton" of type instance to the product
41
39
$ this ->_product ->setTypeInstance ($ this ->_model );
40
+ $ this ->stockRegistry = Bootstrap::getObjectManager ()->get ('Magento\CatalogInventory\Api\StockRegistryInterface ' );
42
41
}
43
42
44
43
/**
@@ -52,15 +51,17 @@ public function testGenerateSimpleProducts($productsData)
52
51
$ generatedProducts = $ this ->_model ->generateSimpleProducts ($ this ->_product , $ productsData );
53
52
$ this ->assertEquals (3 , count ($ generatedProducts ));
54
53
foreach ($ generatedProducts as $ productId ) {
54
+ $ stockItem = $ this ->stockRegistry ->getStockItem ($ productId );
55
55
/** @var $product \Magento\Catalog\Model\Product */
56
- $ product = \ Magento \ TestFramework \ Helper \ Bootstrap::getObjectManager ()->create (
56
+ $ product = Bootstrap::getObjectManager ()->create (
57
57
'Magento\Catalog\Model\Product '
58
58
);
59
59
$ product ->load ($ productId );
60
60
$ this ->assertNotNull ($ product ->getName ());
61
61
$ this ->assertNotNull ($ product ->getSku ());
62
62
$ this ->assertNotNull ($ product ->getPrice ());
63
63
$ this ->assertNotNull ($ product ->getWeight ());
64
+ $ this ->assertEquals ('1 ' , $ stockItem ->getIsInStock ());
64
65
}
65
66
}
66
67
@@ -71,14 +72,12 @@ public function testGenerateSimpleProducts($productsData)
71
72
*/
72
73
public function testGenerateSimpleProductsWithPartialData ($ productsData )
73
74
{
74
- $ objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
75
- /** @var \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry */
76
- $ stockRegistry = $ objectManager ->get ('Magento\CatalogInventory\Api\StockRegistryInterface ' );
77
75
$ this ->_product ->setNewVariationsAttributeSetId (4 );
78
76
$ generatedProducts = $ this ->_model ->generateSimpleProducts ($ this ->_product , $ productsData );
77
+ $ parentStockItem = $ this ->stockRegistry ->getStockItem ($ this ->_product ->getId ());
79
78
foreach ($ generatedProducts as $ productId ) {
80
- $ stockItem = $ stockRegistry ->getStockItem ($ productId );
81
- $ this ->assertEquals (' 0 ' , $ stockItem ->getManageStock ());
79
+ $ stockItem = $ this -> stockRegistry ->getStockItem ($ productId );
80
+ $ this ->assertEquals ($ parentStockItem -> getManageStock () , $ stockItem ->getManageStock ());
82
81
$ this ->assertEquals ('1 ' , $ stockItem ->getIsInStock ());
83
82
}
84
83
}
0 commit comments