Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
MassProductUpdateStatusTest.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex;
9 use Magento\Mtf\Fixture\FixtureFactory;
10 use Magento\Mtf\TestCase\Injectable;
11 
27 class MassProductUpdateStatusTest extends Injectable
28 {
29  /* tags */
30  const MVP = 'yes';
31  /* end tags */
32 
38  private $catalogProductIndex;
39 
45  private $productGridAction = 'Change status';
46 
52  private $fixtureFactory;
53 
60  public function __inject(
61  CatalogProductIndex $catalogProductIndex,
62  FixtureFactory $fixtureFactory
63  ) {
64  $this->catalogProductIndex = $catalogProductIndex;
65  $this->fixtureFactory = $fixtureFactory;
66  }
67 
75  public function test(
76  $gridStatus,
77  array $initialProducts,
78  FixtureFactory $fixtureFactory
79  ) {
80  // Preconditions
81  $changeStatusProducts = [];
82  foreach ($initialProducts as $product) {
83  list($fixture, $dataset) = explode('::', $product);
84  $product = $fixtureFactory->createByCode($fixture, ['dataset' => $dataset]);
85  $product->persist();
86  $changeStatusProducts[] = ['sku' => $product->getSku()];
87  }
88 
89  // Steps
90  $this->catalogProductIndex->open();
91  $this->catalogProductIndex->getProductGrid()
92  ->massaction($changeStatusProducts, [$this->productGridAction => $gridStatus]);
93  return ['products' => $initialProducts];
94  }
95 }
test( $gridStatus, array $initialProducts, FixtureFactory $fixtureFactory)
__inject(CatalogProductIndex $catalogProductIndex, FixtureFactory $fixtureFactory)