Skip to content

Commit

Permalink
Merge pull request #3585 from magento-tsg/2.3-develop-mftf-pr11
Browse files Browse the repository at this point in the history
[TSG] MFTF for 2.3 (pr11) (2.3.1)
  • Loading branch information
Alexander Akimov authored Jan 9, 2019
2 parents 02b74fe + 645e337 commit e62d140
Show file tree
Hide file tree
Showing 40 changed files with 539 additions and 90 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
<section name="AdminMainActionsSection">
<element name="save" type="button" selector="#save" timeout="30"/>
<element name="saveAndContinue" type="button" selector="button[id*=save_and_continue]" timeout="30"/>
<element name="delete" type="button" selector="#delete" timeout="30"/>
</section>
</sections>
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@
<element name="success" type="text" selector="#messages div.message-success"/>
<element name="nthSuccess" type="text" selector=".message.message-success.success:nth-of-type({{n}})>div" parameterized="true"/>
<element name="error" type="text" selector="#messages div.message-error"/>
<element name="notice" type="text" selector=".message.message-notice.notice"/>
</section>
</sections>
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
<section name="AdminSlideOutDialogSection">
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="AdminAssignImageRolesActionGroup">
<arguments>
<argument name="image"/>
</arguments>
<conditionalClick selector="{{AdminProductImagesSection.productImagesToggleState('closed')}}" dependentSelector="{{AdminProductImagesSection.productImagesToggleState('open')}}" visible="false" stepKey="clickSectionImage"/>
<click selector="{{AdminProductImagesSection.imageFile(image.fileName)}}" stepKey="clickProductImage"/>
<waitForElementVisible selector="{{AdminProductImagesSection.altText}}" stepKey="seeAltTextSection"/>
<checkOption selector="{{AdminProductImagesSection.roleBase}}" stepKey="checkRoleBase"/>
<checkOption selector="{{AdminProductImagesSection.roleSmall}}" stepKey="checkRoleSmall"/>
<checkOption selector="{{AdminProductImagesSection.roleThumbnail}}" stepKey="checkRoleThumbnail"/>
<checkOption selector="{{AdminProductImagesSection.roleSwatch}}" stepKey="checkRoleSwatch"/>
<click selector="{{AdminSlideOutDialogSection.closeButton}}" stepKey="clickCloseButton"/>
</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@

<!--Save product and see success message-->
<actionGroup name="saveProductForm">
<scrollToTopOfPage stepKey="scrollTopPageProduct"/>
<click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="clickSaveProduct"/>
<see selector="{{AdminProductMessagesSection.successMessage}}" userInput="You saved the product." stepKey="seeSaveConfirmation"/>
</actionGroup>
Expand Down
9 changes: 9 additions & 0 deletions app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -497,4 +497,13 @@
<data key="name" unique="suffix">Product With Long Name And Sku - But not too long</data>
<data key="sku" unique="suffix">Product With Long Name And Sku - But not too long</data>
</entity>
<entity name="Magento3" type="image">
<data key="title" unique="suffix">Magento3</data>
<data key="price">1.00</data>
<data key="file_type">Upload File</data>
<data key="shareable">Yes</data>
<data key="file">magento3.jpg</data>
<data key="filename">magento3</data>
<data key="file_extension">jpg</data>
</entity>
</entities>
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<element name="removeImageButton" type="button" selector=".action-remove"/>
<element name="modalOkBtn" type="button" selector="button.action-primary.action-accept"/>
<element name="uploadProgressBar" type="text" selector=".uploader .file-row"/>
<element name="productImagesToggleState" type="button" selector="[data-index='gallery'] > [data-state-collapsible='{{status}}']" parameterized="true"/>

<element name="nthProductImage" type="button" selector="#media_gallery_content > div:nth-child({{var}}) img.product-image" parameterized="true"/>
<element name="nthRemoveImageBtn" type="button" selector="#media_gallery_content > div:nth-child({{var}}) button.action-remove" parameterized="true"/>
Expand All @@ -32,4 +33,4 @@
<element name="isThumbnailSelected" type="button" selector="//div[contains(@class, 'field-image-role')]//ul/li[contains(@class, 'selected')]/label[normalize-space(.) = 'Thumbnail']"/>
<element name="isSwatchSelected" type="button" selector="//div[contains(@class, 'field-image-role')]//ul/li[contains(@class, 'selected')]/label[normalize-space(.) = 'Swatch']"/>
</section>
</sections>
</sections>
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
<section name="StorefrontProductMediaSection">
<element name="imageFile" type="text" selector="//*[@class='product media']//img[contains(@src, '{{filename}}')]" parameterized="true"/>
<element name="productImageActive" type="text" selector=".product.media div[data-active=true] > img[src*='{{filename}}']" parameterized="true"/>
</section>
</sections>
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
<test name="AdminProductImageAssignmentForMultipleStoresTest">
<annotations>
<features value="Catalog"/>
<stories value="Product image assignment for multiple stores"/>
<title value="Product image assignment for multiple stores"/>
<description value="Product image assignment for multiple stores"/>
<severity value="MAJOR"/>
<testCaseId value="MAGETWO-58718"/>
<group value="product"/>
<group value="WYSIWYGDisabled"/>
</annotations>
<before>
<!-- Login Admin -->
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
<!-- Create Store View English -->
<actionGroup ref="AdminCreateStoreViewActionGroup" stepKey="createStoreViewEn">
<argument name="customStore" value="customStoreEN"/>
</actionGroup>
<!-- Create Store View France -->
<actionGroup ref="AdminCreateStoreViewActionGroup" stepKey="createStoreViewFr">
<argument name="customStore" value="customStoreFR"/>
</actionGroup>
<!-- Create Category and Simple Product -->
<createData entity="_defaultCategory" stepKey="createCategory"/>
<createData entity="_defaultProduct" stepKey="createSimpleProduct">
<requiredEntity createDataKey="createCategory"/>
<field key="price">100</field>
</createData>
</before>
<after>
<!-- Delete Store View English -->
<actionGroup ref="AdminDeleteStoreViewActionGroup" stepKey="deleteStoreViewEn">
<argument name="customStore" value="customStoreEN"/>
</actionGroup>
<!-- Delete Store View France -->
<actionGroup ref="AdminDeleteStoreViewActionGroup" stepKey="deleteStoreViewFr">
<argument name="customStore" value="customStoreFR"/>
</actionGroup>
<!-- Clear Filter Store -->
<actionGroup ref="clearFiltersAdminDataGrid" stepKey="resetFiltersOnStorePage"/>
<!-- Delete Category and Simple Product -->
<deleteData createDataKey="createSimpleProduct" stepKey="deleteProduct"/>
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
<!-- Clear Filter Product -->
<actionGroup ref="AdminClearFiltersActionGroup" stepKey="clearProductFilters"/>
<!-- Logout Admin -->
<actionGroup ref="logout" stepKey="logoutOfAdmin"/>
</after>
<!-- Search Product and Open Edit -->
<actionGroup ref="SearchForProductOnBackendActionGroup" stepKey="searchProduct">
<argument name="product" value="$$createSimpleProduct$$"/>
</actionGroup>
<actionGroup ref="OpenEditProductOnBackendActionGroup" stepKey="openEditProduct">
<argument name="product" value="$$createSimpleProduct$$"/>
</actionGroup>

<!-- Switch to the English store view -->
<actionGroup ref="AdminSwitchStoreViewActionGroup" stepKey="switchStoreViewEnglishProduct">
<argument name="storeView" value="customStoreEN.name"/>
</actionGroup>

<!-- Upload Image English -->
<actionGroup ref="addProductImage" stepKey="uploadImageEnglish"/>
<actionGroup ref="saveProductForm" stepKey="saveProduct1"/>

<!-- Switch to the French store view -->
<actionGroup ref="AdminSwitchStoreViewActionGroup" stepKey="switchStoreViewFrenchProduct">
<argument name="storeView" value="customStoreFR.name"/>
</actionGroup>

<!-- Upload Image French -->
<actionGroup ref="addProductImage" stepKey="uploadImageFrench">
<argument name="image" value="Magento3"/>
</actionGroup>
<actionGroup ref="AdminAssignImageRolesActionGroup" stepKey="assignImageRole1">
<argument name="image" value="Magento3"/>
</actionGroup>
<actionGroup ref="saveProductForm" stepKey="saveProduct2"/>

<!-- Switch to the All store view -->
<actionGroup ref="AdminSwitchToAllStoreViewActionGroup" stepKey="switchAllStoreViewProduct"/>

<!-- Upload Image All Store View -->
<actionGroup ref="addProductImage" stepKey="uploadImageAllStoreView">
<argument name="image" value="TestImageNew"/>
</actionGroup>
<actionGroup ref="AdminAssignImageRolesActionGroup" stepKey="assignImageRole">
<argument name="image" value="TestImageNew"/>
</actionGroup>

<!-- Change any product data product description -->
<click selector="{{AdminProductContentSection.sectionHeader}}" stepKey="openDescriptionDropDown"/>
<fillField selector="{{AdminProductContentSection.descriptionTextArea}}" userInput="This is the long description" stepKey="fillLongDescription"/>
<fillField selector="{{AdminProductContentSection.shortDescriptionTextArea}}" userInput="This is the short description" stepKey="fillShortDescription"/>
<actionGroup ref="saveProductForm" stepKey="saveProduct"/>

<!-- Go to Product Page and see Default Store View-->
<amOnPage url="{{StorefrontProductPage.url($$createSimpleProduct.custom_attributes[url_key]$$)}}" stepKey="goToDefaultStorefrontProductPage"/>
<seeElement selector="{{StorefrontProductMediaSection.productImageActive(TestImageNew.filename)}}" stepKey="seeActiveImageDefault"/>

<!-- English Switch Store View and see English Store View -->
<actionGroup ref="StorefrontSwitchStoreViewActionGroup" stepKey="switchStoreViewEnglish">
<argument name="storeView" value="customStoreEN"/>
</actionGroup>
<click selector="{{StorefrontHeaderSection.NavigationCategoryByName($$createCategory.name$$)}}" stepKey="openCategoryPage"/>
<waitForPageLoad time="30" stepKey="waitForCategoryPage"/>
<seeElement selector="{{StorefrontCategoryProductSection.ProductImageBySrc(ProductImage.fileName)}}" stepKey="seeThumb"/>
<click selector="{{StorefrontCategoryProductSection.ProductTitleByName($$createSimpleProduct.name$$)}}" stepKey="openProductPage"/>
<waitForPageLoad time="30" stepKey="waitForProductPage"/>
<seeElement selector="{{StorefrontProductMediaSection.productImageActive(ProductImage.filename)}}" stepKey="seeActiveImageEnglish"/>

<!-- Switch France Store View and see France Store View -->
<actionGroup ref="StorefrontSwitchStoreViewActionGroup" stepKey="switchStoreViewFrance">
<argument name="storeView" value="customStoreFR"/>
</actionGroup>
<click selector="{{StorefrontHeaderSection.NavigationCategoryByName($$createCategory.name$$)}}" stepKey="openCategoryPage1"/>
<waitForPageLoad time="30" stepKey="waitForCategoryPage1"/>
<seeElement selector="{{StorefrontCategoryProductSection.ProductImageBySrc(Magento3.fileName)}}" stepKey="seeThumb1"/>
<click selector="{{StorefrontCategoryProductSection.ProductTitleByName($$createSimpleProduct.name$$)}}" stepKey="openProductPage1"/>
<waitForPageLoad time="30" stepKey="waitForProductPage1"/>
<seeElement selector="{{StorefrontProductMediaSection.productImageActive(Magento3.filename)}}" stepKey="seeActiveImageFrance"/>
</test>
</tests>
Loading

0 comments on commit e62d140

Please sign in to comment.