Skip to content

Commit ae61b70

Browse files
committed
Merge branch '2.3-develop' of https://github.com/magento/magento2 into feature/fix_19872_category_image_path
2 parents 17ed8d4 + 2e863d6 commit ae61b70

File tree

91 files changed

+2387
-56
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+2387
-56
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
<h2>Welcome</h2>
66
Welcome to Magento 2 installation! We're glad you chose to install Magento 2, a cutting-edge, feature-rich eCommerce solution that gets results.
77

8-
## Magento system requirements
9-
[Magento system requirements](https://devdocs.magento.com/guides/v2.3/install-gde/system-requirements2.html).
8+
## Magento System Requirements
9+
[Magento System Requirements](https://devdocs.magento.com/guides/v2.3/install-gde/system-requirements2.html).
1010

1111
## Install Magento
1212

13-
* [Installation guide](https://devdocs.magento.com/guides/v2.3/install-gde/bk-install-guide.html).
13+
* [Installation Guide](https://devdocs.magento.com/guides/v2.3/install-gde/bk-install-guide.html).
1414

15-
<h2>Contributing to the Magento 2 code base</h2>
15+
<h2>Contributing to the Magento 2 Code Base</h2>
1616
Contributions can take the form of new components or features, changes to existing features, tests, documentation (such as developer guides, user guides, examples, or specifications), bug fixes, optimizations, or just good suggestions.
1717

1818
To learn about how to make a contribution, click [here][1].
@@ -39,11 +39,11 @@ Magento is thankful for any contribution that can improve our code base, documen
3939
<img src="https://raw.githubusercontent.com/wiki/magento/magento2/images/contributors.png"/>
4040
</a>
4141

42-
### Labels applied by the Magento team
42+
### Labels Applied by the Magento Team
4343
We apply labels to public Pull Requests and Issues to help other participants retrieve additional information about current progress, component assignments, Magento release lines, and much more.
4444
Please review the [Code Contributions guide](https://devdocs.magento.com/guides/v2.3/contributor-guide/contributing.html#labels) for detailed information on labels used in Magento 2 repositories.
4545

46-
## Reporting security issues
46+
## Reporting Security Issues
4747

4848
To report security vulnerabilities in Magento software or web sites, please create a Bugcrowd researcher account [there](https://bugcrowd.com/magento) to submit and follow-up your issue. Learn more about reporting security issues [here](https://magento.com/security/reporting-magento-security-issue).
4949

app/code/Magento/Backup/Test/Mftf/ActionGroup/DeleteBackupActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
<click selector="{{AdminGridActionSection.submitButton}}" stepKey="clickSubmit"/>
2020
<waitForPageLoad stepKey="waitForConfirmWindowToAppear"/>
2121
<see selector="{{AdminConfirmationModalSection.message}}" userInput="Are you sure you want to delete the selected backup(s)?" stepKey="seeConfirmationModal"/>
22+
<waitForPageLoad stepKey="waitForSubmitAction"/>
2223
<click selector="{{AdminConfirmationModalSection.ok}}" stepKey="clickOkConfirmDelete"/>
2324
<dontSee selector="{{AdminGridTableSection.backupNameColumn}}" userInput="{{backup.name}}" stepKey="dontSeeBackupInGrid"/>
2425
</actionGroup>
25-
2626
</actionGroups>

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,4 +302,18 @@
302302
<click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="clickOnSaveButton"/>
303303
<see selector="{{AdminMessagesSection.success}}" userInput="You saved the product." stepKey="seeSaveProductMessage"/>
304304
</actionGroup>
305+
<actionGroup name="FillCategoryNameAndUrlKeyAndSave">
306+
<arguments>
307+
<argument name="categoryName" type="string"/>
308+
<argument name="categoryUrlKey" type="string"/>
309+
</arguments>
310+
<fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{categoryName}}" stepKey="enterCategoryName"/>
311+
<scrollTo selector="{{AdminCategorySEOSection.SectionHeader}}" stepKey="scrollToSearchEngineOptimization"/>
312+
<click selector="{{AdminCategorySEOSection.SectionHeader}}" stepKey="openSEO"/>
313+
<waitForPageLoad stepKey="waitForPageToLoad"/>
314+
<fillField selector="{{AdminCategorySEOSection.UrlKeyInput}}" userInput="{{categoryUrlKey}}" stepKey="enterURLKey"/>
315+
<scrollToTopOfPage stepKey="scrollToTheTopOfPage"/>
316+
<click selector="{{AdminCategoryMainActionsSection.SaveButton}}" stepKey="saveCategory"/>
317+
<waitForPageLoad stepKey="waitForPageToLoad1"/>
318+
</actionGroup>
305319
</actionGroups>

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

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<see selector="{{AdminHeaderSection.pageTitle}}" userInput="New Product" stepKey="seeNewProductTitle"/>
2121
</actionGroup>
2222

23-
<!--Fill main fields in create product form-->
23+
<!-- Fill main fields in create product form using a product entity -->
2424
<actionGroup name="fillMainProductForm">
2525
<arguments>
2626
<argument name="product" defaultValue="_defaultProduct"/>
@@ -34,6 +34,25 @@
3434
<fillField selector="{{AdminProductFormSection.productWeight}}" userInput="{{product.weight}}" stepKey="fillProductWeight"/>
3535
</actionGroup>
3636

37+
<!-- Fill main fields in create product form using strings for flexibility -->
38+
<actionGroup name="FillMainProductFormByString">
39+
<arguments>
40+
<argument name="productName" type="string"/>
41+
<argument name="productSku" type="string"/>
42+
<argument name="productPrice" type="string"/>
43+
<argument name="productQuantity" type="string"/>
44+
<argument name="productStatus" type="string"/>
45+
<argument name="productWeight" type="string"/>
46+
</arguments>
47+
<fillField selector="{{AdminProductFormSection.productName}}" userInput="{{productName}}" stepKey="fillProductName"/>
48+
<fillField selector="{{AdminProductFormSection.productSku}}" userInput="{{productSku}}" stepKey="fillProductSku"/>
49+
<fillField selector="{{AdminProductFormSection.productPrice}}" userInput="{{productPrice}}" stepKey="fillProductPrice"/>
50+
<fillField selector="{{AdminProductFormSection.productQuantity}}" userInput="{{productQuantity}}" stepKey="fillProductQty"/>
51+
<selectOption selector="{{AdminProductFormSection.productStockStatus}}" userInput="{{productStatus}}" stepKey="selectStockStatus"/>
52+
<selectOption selector="{{AdminProductFormSection.productWeightSelect}}" userInput="This item has weight" stepKey="selectWeight"/>
53+
<fillField selector="{{AdminProductFormSection.productWeight}}" userInput="{{productWeight}}" stepKey="fillProductWeight"/>
54+
</actionGroup>
55+
3756
<!--Fill main fields in create product form with no weight, useful for virtual and downloadable products -->
3857
<actionGroup name="fillMainProductFormNoWeight">
3958
<arguments>
@@ -77,6 +96,11 @@
7796
<see selector="{{AdminProductMessagesSection.successMessage}}" userInput="You saved the product." stepKey="seeSaveConfirmation"/>
7897
</actionGroup>
7998

99+
<!-- Save product but do not expect a success message -->
100+
<actionGroup name="SaveProductFormNoSuccessCheck" extends="saveProductForm">
101+
<remove keyForRemoval="seeSaveConfirmation"/>
102+
</actionGroup>
103+
80104
<!--Upload image for product-->
81105
<actionGroup name="addProductImage">
82106
<arguments>
@@ -389,6 +413,22 @@
389413
<click selector="{{AdminProductSEOSection.sectionHeader}}" stepKey="openSeoSection"/>
390414
<fillField userInput="{{product.urlKey}}" selector="{{AdminProductSEOSection.urlKeyInput}}" stepKey="fillUrlKey"/>
391415
</actionGroup>
416+
417+
<actionGroup name="SetProductUrlKeyByString">
418+
<arguments>
419+
<argument name="urlKey" type="string"/>
420+
</arguments>
421+
<click selector="{{AdminProductSEOSection.sectionHeader}}" stepKey="openSeoSection"/>
422+
<fillField userInput="{{urlKey}}" selector="{{AdminProductSEOSection.urlKeyInput}}" stepKey="fillUrlKey"/>
423+
</actionGroup>
424+
425+
<actionGroup name="SetCategoryByName">
426+
<arguments>
427+
<argument name="categoryName" type="string"/>
428+
</arguments>
429+
<searchAndMultiSelectOption selector="{{AdminProductFormSection.categoriesDropdown}}" parameterArray="[{{categoryName}}]" stepKey="searchAndSelectCategory"/>
430+
</actionGroup>
431+
392432
<actionGroup name="expandAdminProductSection">
393433
<arguments>
394434
<argument name="sectionSelector" defaultValue="{{AdminProductContentSection.sectionHeader}}" type="string"/>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AssertProductInfoOnEditPageActionGroup" extends="OpenEditProductOnBackendActionGroup">
12+
<arguments>
13+
<argument name="product" type="entity"/>
14+
</arguments>
15+
<waitForPageLoad stepKey="waitForProductToLoad"/>
16+
<seeInField selector="{{AdminProductFormSection.productName}}" userInput="{{product.name}}" stepKey="seeProductName"/>
17+
<seeInField selector="{{AdminProductFormSection.productSku}}" userInput="{{product.sku}}" stepKey="seeProductSku"/>
18+
<seeInField selector="{{AdminProductFormSection.productPrice}}" userInput="{{product.price}}" stepKey="seeProductPrice"/>
19+
<seeInField selector="{{AdminProductFormSection.productQuantity}}" userInput="{{product.quantity}}" stepKey="seeProductQuantity"/>
20+
<seeInField selector="{{AdminProductFormSection.productStockStatus}}" userInput="{{product.status}}" stepKey="seeProductStockStatus"/>
21+
</actionGroup>
22+
</actionGroups>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AssertProductOnAdminGridActionGroup" extends="viewProductInAdminGrid">
12+
<arguments>
13+
<argument name="product" defaultValue="_defaultProduct"/>
14+
</arguments>
15+
<remove keyForRemoval="clickClearFiltersAfter"/>
16+
</actionGroup>
17+
</actionGroups>

app/code/Magento/Catalog/Test/Mftf/Data/CatalogSpecialPriceData.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,9 @@
1212
<data key="store_id">0</data>
1313
<var key="sku" entityType="product2" entityKey="sku" />
1414
</entity>
15+
<entity name="specialProductPrice2" type="catalogSpecialPrice">
16+
<data key="price">55.55</data>
17+
<data key="store_id">0</data>
18+
<var key="sku" entityType="product" entityKey="sku" />
19+
</entity>
1520
</entities>

app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,48 @@
6060
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
6161
<requiredEntity type="custom_attribute_array">CustomAttributeCategoryIds</requiredEntity>
6262
</entity>
63+
<entity name="SimpleProductAfterImport1" type="product">
64+
<data key="sku">SimpleProductForTest1</data>
65+
<data key="type_id">simple</data>
66+
<data key="attribute_set_id">4</data>
67+
<data key="name">SimpleProductAfterImport1</data>
68+
<data key="price">250.00</data>
69+
<data key="visibility">4</data>
70+
<data key="status">1</data>
71+
<data key="quantity">100</data>
72+
<data key="urlKey">simple-product-for-test-1</data>
73+
<data key="weight">1</data>
74+
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
75+
<requiredEntity type="custom_attribute_array">CustomAttributeCategoryIds</requiredEntity>
76+
</entity>
77+
<entity name="SimpleProductAfterImport2" type="product">
78+
<data key="sku">SimpleProductForTest2</data>
79+
<data key="type_id">simple</data>
80+
<data key="attribute_set_id">4</data>
81+
<data key="name">SimpleProductAfterImport2</data>
82+
<data key="price">300.00</data>
83+
<data key="visibility">4</data>
84+
<data key="status">1</data>
85+
<data key="quantity">100</data>
86+
<data key="urlKey">simple-product-for-test-2</data>
87+
<data key="weight">1</data>
88+
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
89+
<requiredEntity type="custom_attribute_array">CustomAttributeCategoryIds</requiredEntity>
90+
</entity>
91+
<entity name="SimpleProductAfterImport3" type="product">
92+
<data key="sku">SimpleProductForTest3</data>
93+
<data key="type_id">simple</data>
94+
<data key="attribute_set_id">4</data>
95+
<data key="name">SimpleProductAfterImport3</data>
96+
<data key="price">350.00</data>
97+
<data key="visibility">4</data>
98+
<data key="status">1</data>
99+
<data key="quantity">100</data>
100+
<data key="urlKey">simple-product-for-test-3</data>
101+
<data key="weight">1</data>
102+
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
103+
<requiredEntity type="custom_attribute_array">CustomAttributeCategoryIds</requiredEntity>
104+
</entity>
63105
<entity name="SimpleProduct2" type="product">
64106
<data key="sku" unique="suffix">SimpleProduct</data>
65107
<data key="type_id">simple</data>
@@ -906,4 +948,20 @@
906948
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
907949
<requiredEntity type="custom_attribute_array">CustomAttributeCategoryIds</requiredEntity>
908950
</entity>
951+
<entity name="simpleProductWithoutCategory" type="product">
952+
<data key="sku" unique="suffix">sku_simple_product_</data>
953+
<data key="type_id">simple</data>
954+
<data key="attribute_set_id">4</data>
955+
<data key="visibility">4</data>
956+
<data key="name" unique="suffix">SimpleProduct</data>
957+
<data key="price">560</data>
958+
<data key="urlKey" unique="suffix">simple-product-</data>
959+
<data key="status">1</data>
960+
<data key="quantity">25</data>
961+
<data key="weight">1</data>
962+
<data key="product_has_weight">1</data>
963+
<data key="is_in_stock">1</data>
964+
<data key="tax_class_id">2</data>
965+
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
966+
</entity>
909967
</entities>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="AdminCategoryMessagesSection">
1212
<element name="SuccessMessage" type="text" selector=".message-success"/>
13+
<element name="errorMessage" type="text" selector="//div[@class='message message-error error']"/>
1314
</section>
1415
</sections>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<element name="addValue" type="button" selector="//button[contains(@data-action,'add_new_row')]" timeout="30"/>
1616
<element name="defaultStoreView" type="input" selector="//input[contains(@name,'option[value][option_{{row}}][1]')]" parameterized="true"/>
1717
<element name="adminOption" type="input" selector="//input[contains(@name,'option[value][option_{{row}}][0]')]" parameterized="true"/>
18-
<element name="defaultRadioButton" type="radio" selector="//tr[{{row}}]//input[contains(@name,'default[]')]/..//label" parameterized="true"/>
18+
<element name="defaultRadioButton" type="radio" selector="//tr[{{row}}]//input[contains(@name,'default[]')]" parameterized="true"/>
1919
<element name="isRequired" type="checkbox" selector="//input[contains(@name,'is_required')]/..//label"/>
2020
<element name="advancedAttributeProperties" type="text" selector="//div[contains(@data-index,'advanced_fieldset')]"/>
2121
<element name="attributeCode" type="input" selector="//*[@class='admin__fieldset-wrapper-content admin__collapsible-content _show']//input[@name='attribute_code']"/>

0 commit comments

Comments
 (0)