Skip to content

Commit dc674e9

Browse files
committed
Merge remote-tracking branch 'github-magento2ce/MAGETWO-64923' into EPAM-PR-56
2 parents e045216 + 296f4d8 commit dc674e9

File tree

8 files changed

+266
-5
lines changed

8 files changed

+266
-5
lines changed

app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductAttributeActionGroup.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@
4343
<selectOption selector="{{AdminProductFormNewAttributeSection.attributeType}}" userInput="{{attributeType}}" stepKey="selectAttributeType"/>
4444
<click selector="{{AdminProductFormNewAttributeSection.saveAttribute}}" stepKey="saveAttribute"/>
4545
</actionGroup>
46+
<actionGroup name="AdminCreateAttributeFromProductPageWithScope" extends="AdminCreateAttributeFromProductPage" insertAfter="selectAttributeType">
47+
<arguments>
48+
<argument name="scope" type="string" defaultValue="Store View"/>
49+
</arguments>
50+
<conditionalClick selector="{{AdminProductFormNewAttributeAdvancedSection.sectionHeader}}" dependentSelector="{{AdminProductFormNewAttributeAdvancedSection.scope}}" visible="false" stepKey="openAttributeAdvancedSection"/>
51+
<selectOption selector="{{AdminProductFormNewAttributeAdvancedSection.scope}}" userInput="{{scope}}" stepKey="selectScope"/>
52+
</actionGroup>
4653

4754
<actionGroup name="AdminCreateAttributeWithValueWithTwoStoreViesFromProductPage" extends="AdminCreateAttributeFromProductPage">
4855
<remove keyForRemoval="saveAttribute"/>

app/code/Magento/Catalog/Test/Mftf/Section/AdminProductFormAttributeSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
<section name="AdminProductFormNewAttributeAdvancedSection">
2626
<element name="sectionHeader" type="button" selector="div[data-index='advanced_fieldset']"/>
2727
<element name="defaultValue" type="textarea" selector="input[name='default_value_text']"/>
28+
<element name="scope" type="select" selector="//div[@data-index='advanced_fieldset']//select[@name='is_global']"/>
2829
</section>
2930
<section name="AdminProductFormNewAttributeStorefrontSection">
3031
<element name="sectionHeader" type="button" selector="div[data-index='front_fieldset']"/>

app/code/Magento/ConfigurableProduct/Model/Product/VariationHandler.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
67

78
namespace Magento\ConfigurableProduct\Model\Product;
89

@@ -201,12 +202,11 @@ protected function fillSimpleProductData(
201202

202203
$keysFilter = ['item_id', 'product_id', 'stock_id', 'type_id', 'website_id'];
203204
$postData['stock_data'] = array_diff_key((array)$parentProduct->getStockData(), array_flip($keysFilter));
204-
if (!isset($postData['stock_data']['is_in_stock'])) {
205-
$stockStatus = $parentProduct->getQuantityAndStockStatus();
206-
if (isset($stockStatus['is_in_stock'])) {
207-
$postData['stock_data']['is_in_stock'] = $stockStatus['is_in_stock'];
208-
}
205+
$stockStatus = $parentProduct->getQuantityAndStockStatus();
206+
if (isset($stockStatus['is_in_stock'])) {
207+
$postData['stock_data']['is_in_stock'] = $stockStatus['is_in_stock'];
209208
}
209+
210210
$postData = $this->processMediaGallery($product, $postData);
211211
$postData['status'] = isset($postData['status'])
212212
? $postData['status']

app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/AdminConfigurableProductActionGroup.xml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,25 @@
122122
<click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton3"/>
123123
<click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton4"/>
124124
</actionGroup>
125+
<actionGroup name="createOptionsForAttribute">
126+
<arguments>
127+
<argument name="attributeName" type="string" defaultValue="{{productAttributeColor.default_label}}"/>
128+
<argument name="firstOptionName" type="string" defaultValue="option1"/>
129+
<argument name="secondOptionName" type="string" defaultValue="option2"/>
130+
</arguments>
131+
<click selector="{{AdminCreateProductConfigurationsPanel.filters}}" stepKey="clickOnFilters"/>
132+
<fillField userInput="{{attributeName}}" selector="{{AdminCreateProductConfigurationsPanel.attributeCode}}" stepKey="fillFilterAttributeCodeField"/>
133+
<click selector="{{AdminCreateProductConfigurationsPanel.applyFilters}}" stepKey="clickApplyFiltersButton"/>
134+
<click selector="{{AdminCreateProductConfigurationsPanel.firstCheckbox}}" stepKey="clickOnFirstCheckbox"/>
135+
<click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton"/>
136+
<click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" stepKey="clickOnCreateFirstNewValue"/>
137+
<fillField userInput="{{firstOptionName}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewFirstOption"/>
138+
<click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" stepKey="clickOnSaveNewAttribute"/>
139+
<click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" stepKey="clickOnCreateSecondNewValue"/>
140+
<fillField userInput="{{secondOptionName}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewSecondOption"/>
141+
<click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" stepKey="clickOnSaveAttribute"/>
142+
<click selector="{{AdminCreateProductConfigurationsPanel.selectAll}}" stepKey="clickOnSelectAll"/>
143+
</actionGroup>
125144

126145
<actionGroup name="createConfigurationsForAttribute" extends="generateConfigurationsByAttributeCode">
127146
<arguments>
@@ -282,6 +301,16 @@
282301
<selectOption userInput="{{frontend_label}}" selector="{{AdminCreateProductConfigurationsPanel.selectPriceButton}}" stepKey="selectOption"/>
283302
<fillField selector="{{AdminCreateProductConfigurationsPanel.price(label)}}" userInput="{{price}}" stepKey="enterAttributeQuantity"/>
284303
</actionGroup>
304+
<actionGroup name="addUniqueQuantityToConfigurableProductOption">
305+
<arguments>
306+
<argument name="frontend_label" type="string" defaultValue="{{productAttributeColor.default_label}}"/>
307+
<argument name="label" type="string" defaultValue="option1"/>
308+
<argument name="quantity" type="string" defaultValue="10"/>
309+
</arguments>
310+
<click selector="{{AdminCreateProductConfigurationsPanel.applyUniqueQuantityToEachSkus}}" stepKey="clickOnApplyUniqueQuantitiesToEachSku"/>
311+
<selectOption selector="{{AdminCreateProductConfigurationsPanel.selectQuantity}}" userInput="{{frontend_label}}" stepKey="selectOption"/>
312+
<fillField selector="{{AdminCreateProductConfigurationsPanel.applyUniqueQuantity(label)}}" userInput="{{quantity}}" stepKey="enterAttributeQuantity"/>
313+
</actionGroup>
285314

286315
<actionGroup name="saveConfigurableProductWithNewAttributeSet">
287316
<click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="clickSaveConfigurableProduct"/>
@@ -318,4 +347,12 @@
318347
<waitForPageLoad stepKey="waitForNextStepLoaded"/>
319348
<see userInput="{{title}}" selector="{{AdminProductFormConfigurationsSection.stepsWizardTitle}}" stepKey="seeStepTitle"/>
320349
</actionGroup>
350+
<actionGroup name="AdminConfigurableProductDisableConfigurationsActionGroup">
351+
<arguments>
352+
<argument name="productName" type="string" defaultValue="{{SimpleProduct.name}}"/>
353+
</arguments>
354+
<click selector="{{AdminProductFormConfigurationsSection.actionsBtnByProductName(productName)}}" stepKey="clickToExpandActionsSelect"/>
355+
<click selector="{{AdminProductFormConfigurationsSection.disableProductBtn}}" stepKey="clickDisableChildProduct"/>
356+
<see selector="{{AdminProductFormConfigurationsSection.confProductOptionStatusCell(productName)}}" userInput="Disabled" stepKey="seeConfigDisabled"/>
357+
</actionGroup>
321358
</actionGroups>

app/code/Magento/ConfigurableProduct/Test/Mftf/Data/ProductConfigurableAttributeData.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@
2929
<data key="name" unique="suffix">Orange</data>
3030
<data key="price">99.99</data>
3131
</entity>
32+
<entity name="productAttributeColor" type="product_attribute">
33+
<data key="default_label" unique="suffix">color</data>
34+
<data key="input_type">Dropdown</data>
35+
<data key="attribute_quantity">1</data>
36+
</entity>
3237
<entity name="colorDefaultProductAttribute" type="product_attribute">
3338
<data key="default_label">Color</data>
3439
<data key="input_type">Dropdown</data>

app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminCreateProductConfigurationsPanelSection.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
<element name="attribute3" type="input" selector="#apply-single-price-input-2"/>
4242

4343
<element name="applySingleQuantityToEachSkus" type="radio" selector=".admin__field-label[for='apply-single-inventory-radio']" timeout="30"/>
44+
<element name="applyUniqueQuantityToEachSkus" type="radio" selector=".admin__field-label[for='apply-unique-inventory-radio']" timeout="30"/>
45+
<element name="selectQuantity" type="select" selector="#apply-single-price-input-qty" timeout="30"/>
46+
<element name="applyUniqueQuantity" type="input" selector="//*[text()='{{option}}']/ancestor::div[contains(@class, 'admin__field _required')]//input[contains(@id, 'apply-qty-input')]" parameterized="true"/>
4447
<element name="applyUniqueImagesToEachSkus" type="radio" selector=".admin__field-label[for='apply-unique-images-radio']" timeout="30"/>
4548
<element name="applyUniquePricesToEachSkus" type="radio" selector=".admin__field-label[for='apply-unique-prices-radio']" timeout="30"/>
4649
<element name="selectImagesButton" type="select" selector="#apply-images-attributes" timeout="30"/>

app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminProductFormConfigurationsSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
<element name="confProductPriceCell" type="input" selector="//*[.='Attributes']/ancestor::tr//span[contains(text(), '{{var}}')]/ancestor::tr/td[@data-index='price_container']//input" parameterized="true"/>
3333
<element name="confProductQuantityCell" type="input" selector="//*[.='Attributes']/ancestor::tr//span[contains(text(), '{{var}}')]/ancestor::tr/td[@data-index='quantity_container']//input" parameterized="true"/>
3434
<element name="confProductWeightCell" type="input" selector="//*[.='Attributes']/ancestor::tr//span[contains(text(), '{{var}}')]/ancestor::tr/td[@data-index='price_weight']//input" parameterized="true"/>
35+
<element name="confProductOptionStatusCell" type="text" selector="//*[.='Attributes']/ancestor::tr//span[contains(text(), '{{productName}}')]/ancestor::tr/td[@data-index='status']" parameterized="true"/>
3536
<element name="confProductSkuMessage" type="text" selector="//*[@name='configurable-matrix[{{arg}}][sku]']/following-sibling::label" parameterized="true"/>
3637
<element name="variationsSkuInputByRow" selector="[data-index='configurable-matrix'] table > tbody > tr:nth-of-type({{row}}) input[name*='sku']" type="input" parameterized="true"/>
3738
<element name="variationsSkuInputErrorByRow" selector="[data-index='configurable-matrix'] table > tbody > tr:nth-of-type({{row}}) .admin__field-error" type="text" parameterized="true"/>

0 commit comments

Comments
 (0)