Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UpdateBundleOptionsTest.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit;
11 use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex;
12 use Magento\Mtf\TestCase\Injectable;
13 
27 class UpdateBundleOptionsTest extends Injectable
28 {
29  /* tags */
30  const MVP = 'yes';
31  /* end tags */
32 
39 
46 
54  public function __inject(
55  CatalogProductIndex $catalogProductIndexNewPage,
56  CatalogProductEdit $catalogProductEditPage
57  ) {
58  $this->catalogProductIndex = $catalogProductIndexNewPage;
59  $this->catalogProductEdit = $catalogProductEditPage;
60  }
61 
69  public function test(BundleProduct $product, BundleProduct $originalProduct)
70  {
71  // Preconditions
72  $originalProduct->persist();
73 
74  // Steps
75  $filter = ['sku' => $originalProduct->getSku()];
76 
77  $this->catalogProductIndex->open();
78  $this->catalogProductIndex->getProductGrid()->searchAndOpen($filter);
79 
80  $form = $this->catalogProductEdit->getProductForm();
81  $form->openSection('bundle');
82  $container = $form->getSection('bundle');
83  $containerFields = $product->getData()['bundle_selections']['bundle_options_delete'];
84  $container->deleteFieldsData($containerFields);
85 
86  $form->openSection('product-details');
87  $container = $form->getSection('product-details');
88  $containerFields = $product->getData();
89  unset($containerFields['bundle_selections']);
90  $container->setFieldsData($containerFields);
91 
92  $this->catalogProductEdit->getFormPageActions()->save();
93  }
94 }
__inject(CatalogProductIndex $catalogProductIndexNewPage, CatalogProductEdit $catalogProductEditPage)
test(BundleProduct $product, BundleProduct $originalProduct)