Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssignStatusToProductOnDefaultStockTest.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
14 use PHPUnit\Framework\TestCase;
15 
17 {
21  private $stockHelper;
22 
26  private $productRepository;
27 
31  protected function setUp()
32  {
33  $this->stockHelper = Bootstrap::getObjectManager()->get(Stock::class);
34  $this->productRepository = Bootstrap::getObjectManager()->get(ProductRepositoryInterface::class);
35  }
36 
41  public function testAssignStatusToProductIfStatusParameterIsNotPassed()
42  {
43  $productsData = [
44  'SKU-1' => 1,
45  'SKU-2' => 1,
46  'SKU-3' => 0,
47  ];
48 
49  foreach ($productsData as $sku => $expectedStatus) {
50  $product = $this->productRepository->get($sku);
52  $this->stockHelper->assignStatusToProduct($product);
53 
54  self::assertEquals($expectedStatus, $product->isSalable());
55  }
56  }
57 
62  public function testAssignStatusToProductIfStatusParameterIsPassed()
63  {
64  $expectedStatus = 1;
65  $productsSku = [
66  'SKU-1',
67  'SKU-2',
68  'SKU-3',
69  ];
70 
71  foreach ($productsSku as $sku) {
72  $product = $this->productRepository->get($sku);
74  $this->stockHelper->assignStatusToProduct($product, $expectedStatus);
75 
76  self::assertEquals($expectedStatus, $product->isSalable());
77  }
78  }
79 }
$productsData
Definition: products.php:19