9 use Magento\Catalog\Test\Fixture\CatalogProductAttribute;
10 use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit;
13 use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex;
14 use Magento\Mtf\Fixture\FixtureFactory;
15 use Magento\Mtf\TestStep\TestStepInterface;
80 CatalogProductIndex $productGrid,
89 $this->product = $updatedProduct;
91 $this->productGrid = $productGrid;
121 $this->deletedAttributes =
$initialProduct->getDataFieldConfig(
'configurable_attributes_data')[
'source']
130 array_pop($dataInitialProduct[
'configurable_attributes_data'][
'attributes_data']);
133 $this->deletedAttributes[] = array_pop(
$attributes);
136 $attributesData = $dataInitialProduct[
'configurable_attributes_data'][
'attributes_data'];
143 $dataProduct[
'configurable_attributes_data'] = [
147 if (
$product->hasData(
'category_ids')) {
148 $dataProduct[
'category_ids'][
'category'] =
$product->getDataFieldConfig(
'category_ids')[
'source']
149 ->getCategories()[0];
152 return $this->fixtureFactory->createByCode(
'configurableProduct', [
'data' => $dataProduct]);
165 if (isset(
$data[$key])) {
167 foreach (
$data[$key][
'options'] as $newOption) {
200 $filter = [
'sku' => $this->initialProduct->getSku()];
201 $this->productGrid->open();
202 $this->productGrid->getProductGrid()->searchAndOpen($filter);
205 $productForm = $this->catalogProductEdit->getProductForm();
206 $productForm->openSection(
'variations');
208 $variationsSection = $productForm->getSection(
'variations');
209 $variationsSection->deleteVariations();
210 $this->catalogProductEdit->getProductForm()->fill(
$product);
prepareProduct(ConfigurableProduct $initialProduct, ConfigurableProduct $product, $attributeTypeAction)
addAttributes(array &$attributes, array $data)
__construct(FixtureFactory $fixtureFactory, CatalogProductIndex $productGrid, CatalogProductEdit $catalogProductEdit, ConfigurableProduct $product, ConfigurableProduct $updatedProduct, $attributeTypeAction='')
addOptions(array &$attributes, array $data)