Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertGroupedProductsDefaultQty.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Catalog\Test\Page\Product\CatalogProductView;
11 use Magento\Mtf\Client\BrowserInterface;
13 
19 {
28  public function processAssert(
29  CatalogProductView $groupedProductView,
30  GroupedProduct $product,
31  BrowserInterface $browser
32  ) {
33  $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html');
34  $associatedProducts = $product->getAssociated();
35  $fixtureQtyData = [];
36  $pageOptions = $groupedProductView->getViewBlock()->getOptions($product);
37  $pageQtyData = [];
38 
39  foreach ($associatedProducts['assigned_products'] as $productData) {
40  $fixtureQtyData[] = [
41  'name' => $productData['name'],
42  'qty' => $productData['qty'],
43  ];
44  }
45  foreach ($pageOptions['grouped_options'] as $productData) {
46  $pageQtyData[] = [
47  'name' => $productData['name'],
48  'qty' => $productData['qty'],
49  ];
50  }
51  $fixtureQtyData = $this->sortDataByPath($fixtureQtyData, '::name');
52  $pageQtyData = $this->sortDataByPath($pageQtyData, '::name');
53 
54  $error = $this->verifyData($fixtureQtyData, $pageQtyData);
55  \PHPUnit\Framework\Assert::assertEmpty($error, $error);
56  }
57 
63  public function toString()
64  {
65  return 'Default qty for sub products in grouped product displays according to dataset on product page.';
66  }
67 }
verifyData(array $fixtureData, array $formData, $isStrict=false, $isPrepareError=true)
$productData
processAssert(CatalogProductView $groupedProductView, GroupedProduct $product, BrowserInterface $browser)