Skip to content

Commit 7c8b9d5

Browse files
authored
Merge pull request #637 from drpayyne/issue-443
MFTF automation for: User saves licensed image into Magento Media Gallery
2 parents d69521f + 05412e8 commit 7c8b9d5

14 files changed

+138
-15
lines changed

.travis.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ env:
2727
- MAGENTO_BACKEND="backend"
2828
- MAGENTO_ADMIN_USERNAME="admin"
2929
- MAGENTO_ADMIN_PASSWORD="123123q"
30+
- ADOBE_STOCK_LICENSED_IMAGE="175947395"
3031
matrix:
3132
- TEST_SUITE=unit
3233
- TEST_SUITE=phpstan
@@ -40,6 +41,7 @@ env:
4041
- TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_suite_keywords
4142
- TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_suite_ims
4243
- TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_suite_see_more
44+
- TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_license
4345
matrix:
4446
fast_finish: true
4547
jobs:
@@ -59,6 +61,8 @@ jobs:
5961
env: TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_suite_ims
6062
- php: '7.1'
6163
env: TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_suite_see_more
64+
- php: '7.1'
65+
env: TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_license
6266
- php: '7.2'
6367
env: TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_suite_filters
6468
- php: '7.2'
@@ -73,6 +77,8 @@ jobs:
7377
env: TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_suite_ims
7478
- php: '7.2'
7579
env: TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_suite_see_more
80+
- php: '7.2'
81+
env: TEST_SUITE=functional MFTF_SUITE=adobe_stock_integration_license
7682
cache:
7783
directories:
7884
- $HOME/.composer/cache

AdobeStockImageAdminUi/Test/Mftf/ActionGroup/AdminAdobeStockImsPopupSignInFillUserDataActionGroup.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
1111
<actionGroup name="AdminAdobeStockImsPopupSignInFillUserDataActionGroup">
1212
<arguments>
13-
<argument name="email" type="string" defaultValue="{{AdobeStockConfigDataSignInEmailData.value}}"/>
14-
<argument name="password" type="string" defaultValue="{{AdobeStockConfigDataSignInPasswordData.value}}"/>
13+
<argument name="email" type="string" defaultValue="{{AdobeStockLogin.email}}"/>
14+
<argument name="password" type="string" defaultValue="{{AdobeStockLogin.password}}"/>
1515
</arguments>
1616
<switchToWindow stepKey="switchToWindow"/>
1717
<fillField selector="{{AdobeStockSection.adobeImsPopupUserEmail}}" userInput="{{email}}" stepKey="fillUserEmail" />

AdobeStockImageAdminUi/Test/Mftf/ActionGroup/AdminAssertAdobeStockImageSavedActionGroup.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
1010
<actionGroup name="AdminAssertAdobeStockImageSavedActionGroup">
11-
<waitForPageLoad stepKey="waitForMaskDiapered" />
12-
<grabValueFrom selector="{{AdobeStockImagePreviewSection.generatedImageName}}" stepKey="generatedImage" />
11+
<waitForPageLoad stepKey="waitForMaskToDisappear" />
12+
<grabValueFrom selector="{{AdobeStockImagePreviewSection.imageNameField}}" stepKey="imageName" />
1313
<click selector="{{AdobeStockImagePreviewSection.confirm}}" stepKey="clickOnPopupConfirm"/>
14-
<waitForPageLoad stepKey="waitForMaskDiapered1" />
15-
<seeElement selector="{{AdobeStockSection.selectedImagePreview({$generatedImage})}}" stepKey="assertSavedImage" />
14+
<waitForPageLoad stepKey="waitForMaskToDisappear1" />
15+
<seeElement selector="{{AdobeStockSection.mediaGalleryImage({$imageName})}}" stepKey="assertSavedImage" />
1616
</actionGroup>
1717
</actionGroups>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminMediaGalleryDeleteImage">
11+
<arguments>
12+
<argument name="name" type="string"/>
13+
</arguments>
14+
<seeElement selector="{{AdobeStockSection.mediaGalleryImage(name)}}" stepKey="seeImageToDelete"/>
15+
<click selector="{{AdobeStockSection.mediaGalleryImage(name)}}" stepKey="clickImageToDelete"/>
16+
<!-- Click image again, incase image was already selected and above step unselected the image by clicking it -->
17+
<conditionalClick
18+
visible="false"
19+
dependentSelector="{{AdobeStockSection.mediaGalleryDeleteButton}}"
20+
selector="{{AdobeStockSection.mediaGalleryImage(name)}}"
21+
stepKey="clickImageToDeleteAgain"/>
22+
<waitForElementVisible selector="{{AdobeStockSection.mediaGalleryDeleteButton}}" stepKey="waitForDeleteButton"/>
23+
<click selector="{{AdobeStockSection.mediaGalleryDeleteButton}}" stepKey="clickDeleteButton"/>
24+
<waitForElementVisible selector="{{AdobeStockImagePreviewSection.confirm}}" stepKey="waitForConfirmationModal"/>
25+
<click selector="{{AdobeStockImagePreviewSection.confirm}}" stepKey="clickConfirmButton"/>
26+
<waitForPageLoad stepKey="waitForMaskDisappeared"/>
27+
<dontSeeElement selector="{{AdobeStockSection.mediaGalleryImage(name)}}" stepKey="assertImageIsDeleted"/>
28+
</actionGroup>
29+
</actionGroups>

AdobeStockImageAdminUi/Test/Mftf/Data/AdobeStockConfigData.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,4 @@
2323
<data key="path">adobe_stock/integration/private_key</data>
2424
<data key="value">{{_CREDS.magento/ADOBE_STOCK_PRIVATE_KEY}}</data>
2525
</entity>
26-
<entity name="AdobeStockConfigDataSignInEmailData">
27-
<data key="value">{{_CREDS.magento/ADOBE_STOCK_USER_EMAIL}}</data>
28-
</entity>
29-
<entity name="AdobeStockConfigDataSignInPasswordData">
30-
<data key="value">{{_CREDS.magento/ADOBE_STOCK_USER_PASSWORD}}</data>
31-
</entity>
3226
</entities>

AdobeStockImageAdminUi/Test/Mftf/Data/AdobeStockImageData.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,7 @@
1111
<entity name="AdobeStockImageData">
1212
<data key="name" unique="suffix">my-image-</data>
1313
</entity>
14+
<entity name="AdobeStockLicensedImage">
15+
<data key="id">{{_ENV.ADOBE_STOCK_LICENSED_IMAGE}}</data>
16+
</entity>
1417
</entities>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
10+
<entity name="AdobeStockLogin">
11+
<data key="email">{{_CREDS.magento/ADOBE_STOCK_USER_EMAIL}}</data>
12+
<data key="password">{{_CREDS.magento/ADOBE_STOCK_USER_PASSWORD}}</data>
13+
</entity>
14+
</entities>

AdobeStockImageAdminUi/Test/Mftf/Section/AdobeStockImagePreviewSection.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="AdobeStockImagePreviewSection">
1111
<element name="save" type="block" selector="//button[@class='action-secondary']//span[text()='Save Preview']"/>
12+
<element name="locateImage" type="block" selector="//button[@class='action-secondary']//span[text()='Locate')]"/>
13+
<element name="saveLicensedImage" type="button" selector="//div[@class='actions']/descendant::span[text()='Save']"/>
1214
<element name="image" type="block" selector="//div[@class='masonry-image-preview']//img"/>
1315
<element name="navigation" type="button" selector="//div[@class='masonry-image-preview']//div[contains(@class, 'action-buttons')]/button[@class='action-{{type}}']" parameterized="true"/>
1416
<element name="attribute" type="block" selector="//*[@id='adobe-stock-images-search-modal']//div[@data-role='image-attributes-value']//span[text()='{{type}}']/parent::div//div[@class='value']//span" parameterized="true"/>
@@ -18,7 +20,7 @@
1820
<element name="keywordsTitle" type="text" selector="//*[@id='adobe-stock-images-search-modal']//div[text()='Similar Keywords']"/>
1921
<element name="keyword" type="block" selector="//div[@class='keyword']//span[text()='{{keyword}}']" parameterized="true"/>
2022
<element name="confirm" selector="//*[@class='action-primary action-accept']" type="button"/>
21-
<element name="generatedImageName" selector="input[data-role='adobe-stock-image-name-field']" type="input"/>
23+
<element name="imageNameField" selector="input[data-role='adobe-stock-image-name-field']" type="input"/>
2224
<element name="moreFromThisModel" selector="//*[@id='model_tab']" type="block"/>
2325
<element name="moreFromThisModelImages" selector="//div[@aria-labelledby='model_tab']//div[@class='thumbnail']" type="block"/>
2426
<element name="moreFromThisModelSeeMore" selector="//div[@aria-labelledby='model_tab']//div[@class='see-more-wrapper']" type="button"/>

AdobeStockImageAdminUi/Test/Mftf/Section/AdobeStockSection.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
<element name="modalError" type="text" selector="//aside[contains(@class, 'modal-popup')]//div[@class='modal-content']//div[text()='Something went wrong.']"/>
2222
<element name="countGridImages" type="text" selector="//div[@class='masonry-image-grid']/div[contains(.,data-repeat-index)]"/>
2323
<element name="recordsFound" type="text" selector="//*[@id='adobe-stock-images-search-modal']//*[text()='records found']/parent::div"/>
24-
<element name="selectedImagePreview" type="text" selector="//img[contains(@alt,'{{imageName}}')]" parameterized="true"/>
24+
<element name="mediaGalleryImage" type="button" selector="//img[contains(@alt,'{{imageName}}')]" parameterized="true"/>
25+
<element name="mediaGalleryDeleteButton" type="button" selector="#delete_files"/>
2526
<element name="systemAclActions" type="checkbox" selector="//a[text()='Adobe Stock']/parent::li[contains(.,'Actions')]//a"/>
2627
<element name="adobeSignIn" type="button" selector=".adobe-sign-in-button"/>
2728
<element name="adobeImsPopupUserEmail" type="button" selector="#adobeid_username"/>
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+
<suites xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Suite/etc/suiteSchema.xsd">
11+
<suite name="adobe_stock_integration_suite_license">
12+
<before>
13+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
14+
<actionGroup ref="AdminAdobeStockSetConfigActionGroup" stepKey="setCorrectModuleConfig"/>
15+
</before>
16+
<after>
17+
</after>
18+
<include>
19+
<group name="adobe_stock_integration_license"/>
20+
</include>
21+
</suite>
22+
</suites>

0 commit comments

Comments
 (0)