Skip to content

Commit f9d7b18

Browse files
authored
Merge pull request #179 from magento-pangolin/MC-6621
MC-6621 Backport for MC-6447
2 parents 6252001 + cc13bdf commit f9d7b18

11 files changed

+231
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="AdminCreateUserSection">
12+
<element name="system" type="input" selector="#menu-magento-backend-system"/>
13+
<element name="allUsers" type="input" selector="//span[contains(text(), 'All Users')]"/>
14+
<element name="create" type="input" selector="#add"/>
15+
<element name="usernameTextField" type="input" selector="#user_username"/>
16+
<element name="firstNameTextField" type="input" selector="#user_firstname"/>
17+
<element name="lastNameTextField" type="input" selector="#user_lastname"/>
18+
<element name="emailTextField" type="input" selector="#user_email"/>
19+
<element name="passwordTextField" type="input" selector="#user_password"/>
20+
<element name="pwConfirmationTextField" type="input" selector="#user_confirmation"/>
21+
<element name="currentPasswordField" type="input" selector="#user_current_password"/>
22+
<element name="userRoleTab" type="button" selector="#page_tabs_roles_section"/>
23+
<element name="saveButton" type="button" selector="#save"/>
24+
</section>
25+
</sections>

app/code/Magento/Store/Test/Mftf/Data/StoreData.xml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,31 @@
107107
<data key="code">allstoreviews</data>
108108
<data key="is_active">1</data>
109109
</entity>
110+
<entity name="storeViewData" type="store">
111+
<data key="group_id">1</data>
112+
<data key="name" unique="suffix">storeView</data>
113+
<data key="code" unique="suffix">storeView</data>
114+
<data key="is_active">1</data>
115+
<data key="store_id">null</data>
116+
<data key="store_type">store</data>
117+
<data key="store_action">add</data>
118+
</entity>
119+
<entity name="storeViewData1" type="store">
120+
<data key="group_id">1</data>
121+
<data key="name" unique="suffix">storeView</data>
122+
<data key="code" unique="suffix">storeView</data>
123+
<data key="is_active">1</data>
124+
<data key="store_id">null</data>
125+
<data key="store_type">store</data>
126+
<data key="store_action">add</data>
127+
</entity>
128+
<entity name="storeViewData2" type="store">
129+
<data key="group_id">1</data>
130+
<data key="name" unique="suffix">storeView</data>
131+
<data key="code" unique="suffix">storeView</data>
132+
<data key="is_active">1</data>
133+
<data key="store_id">null</data>
134+
<data key="store_type">store</data>
135+
<data key="store_action">add</data>
136+
</entity>
110137
</entities>

app/code/Magento/Store/Test/Mftf/Data/WebsiteData.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@
2525
<data key="code" unique="suffix">second_website_</data>
2626
<data key="sort_order">10</data>
2727
</entity>
28+
<entity name="secondCustomWebsite" extends="CustomWebSite">
29+
<data key="name" unique="suffix">Custom Website</data>
30+
<data key="code" unique="suffix">custom_website</data>
31+
</entity>
2832
</entities>

app/code/Magento/Store/Test/Mftf/Section/AdminStoresGridSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@
1010
<element name="websiteInFirstRow" type="text" selector=".data-row[data-repeat-index='0'] td:nth-of-type(1) a"/>
1111
<element name="storeInFirstRow" type="text" selector=".data-row[data-repeat-index='0'] td:nth-of-type(2) a"/>
1212
<element name="storeViewInFirstRow" type="text" selector=".data-row[data-repeat-index='0'] td:nth-of-type(3) a"/>
13+
<element name="websiteNameInFirstRow" type="text" selector="tr:nth-of-type(1) > .col-website_title > a"/>
1314
</section>
1415
</sections>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
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="AdminAddNewUserRoleActionGroup">
12+
<arguments>
13+
<argument name="role" type="entity"/>
14+
</arguments>
15+
16+
<!-- Navigate to Roles Page -->
17+
<amOnPage url="{{AdminRolesPage.url}}" stepKey="amOnRolesPage"/>
18+
<waitForPageLoad stepKey="waitForPageLoad"/>
19+
20+
<!-- Click Button "Add New Role" -->
21+
<click selector="{{AdminMainActionsSection.add}}" stepKey="addNewUseRole"/>
22+
<waitForPageLoad stepKey="waitForCreateNewUserRolePageLoad"/>
23+
24+
<!-- Fill forms "Role info" -->
25+
<fillField userInput="{{role.name}}" selector="{{AdminCreateRoleSection.name}}" stepKey="fillNameUserRole"/>
26+
<fillField userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" selector="{{AdminCreateRoleSection.password}}" stepKey="fillPass"/>
27+
28+
<!-- Open tab "Role Resources" -->
29+
<click selector="{{AdminCreateRoleSection.roleResources}}" stepKey="clickOnTab"/>
30+
<waitForPageLoad stepKey="waitForTabLoaded"/>
31+
32+
<!-- Select Role Scopes -->
33+
<selectOption userInput="{{role.roleScopes}}" selector="{{AdminCreateRoleSection.roleScopeNew}}" stepKey="selectRoleResources"/>
34+
35+
<!-- Select Resource Access -->
36+
<selectOption userInput="{{role.resourceAccess}}" selector="{{AdminCreateRoleSection.roleResourceNew}}" stepKey="selectResourceAccess"/>
37+
<click selector="{{AdminCreateRoleSection.save}}" stepKey="saveUserRole"/>
38+
<waitForPageLoad stepKey="waitForSaving"/>
39+
<see userInput="You saved the role." selector="{{AdminMessagesSection.successMessage}}" stepKey="seeMessage"/>
40+
</actionGroup>
41+
42+
<actionGroup name="AdminAddNewUserRoleWithCustomRoleScopes" extends="AdminAddNewUserRoleActionGroup">
43+
<arguments>
44+
<argument name="customWebsiteName" type="string"/>
45+
</arguments>
46+
<checkOption selector="{{AdminCreateRoleSection.selectWebsite(customWebsiteName)}}" stepKey="checkWebsite" after="selectRoleResources"/>
47+
</actionGroup>
48+
</actionGroups>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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+
<!--Create new user with role-->
11+
<actionGroup name="AdminCreateUserWithRoleActionGroup">
12+
<arguments>
13+
<argument name="role"/>
14+
<argument name="user" defaultValue="newAdmin"/>
15+
</arguments>
16+
<amOnPage url="{{AdminNewUserPage.url}}" stepKey="navigateToNewUser"/>
17+
<waitForPageLoad stepKey="waitForUsersPage" />
18+
<fillField selector="{{AdminCreateUserSection.usernameTextField}}" userInput="{{user.username}}" stepKey="enterUserName" />
19+
<fillField selector="{{AdminCreateUserSection.firstNameTextField}}" userInput="{{user.firstName}}" stepKey="enterFirstName" />
20+
<fillField selector="{{AdminCreateUserSection.lastNameTextField}}" userInput="{{user.lastName}}" stepKey="enterLastName" />
21+
<fillField selector="{{AdminCreateUserSection.emailTextField}}" userInput="{{user.username}}@magento.com" stepKey="enterEmail" />
22+
<fillField selector="{{AdminCreateUserSection.passwordTextField}}" userInput="{{user.password}}" stepKey="enterPassword" />
23+
<fillField selector="{{AdminCreateUserSection.pwConfirmationTextField}}" userInput="{{user.password}}" stepKey="confirmPassword" />
24+
<fillField selector="{{AdminCreateUserSection.currentPasswordField}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="enterCurrentPassword" />
25+
<scrollToTopOfPage stepKey="scrollToTopOfPage" />
26+
<click stepKey="clickUserRole" selector="{{AdminCreateUserSection.userRoleTab}}"/>
27+
<click stepKey="chooseRole" selector="{{AdminStoreSection.createdRoleInUserPage(role.name)}}"/>
28+
<click selector="{{AdminCreateUserSection.saveButton}}" stepKey="clickSaveUser" />
29+
<waitForPageLoad stepKey="waitForSaveTheUser" />
30+
<see userInput="You saved the user." stepKey="seeSuccessMessage" />
31+
</actionGroup>
32+
</actionGroups>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
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="AdminDeleteCreatedUserActionGroup">
11+
<arguments>
12+
<argument name="user"/>
13+
</arguments>
14+
<amOnPage stepKey="amOnAdminUsersPage" url="{{AdminUsersPage.url}}"/>
15+
<click stepKey="openTheUser" selector="{{AdminDeleteUserSection.role(user.username)}}"/>
16+
<waitForPageLoad stepKey="waitForSingleUserPageToLoad" />
17+
<fillField stepKey="TypeCurrentPassword" selector="{{AdminDeleteUserSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}"/>
18+
<scrollToTopOfPage stepKey="scrollToTop"/>
19+
<click stepKey="clickToDeleteUser" selector="{{AdminDeleteUserSection.delete}}"/>
20+
<waitForPageLoad stepKey="waitForConfirmationPopup"/>
21+
<click stepKey="clickToConfirm" selector="{{AdminDeleteUserSection.confirm}}"/>
22+
<see stepKey="seeDeleteMessageForUser" userInput="You deleted the user."/>
23+
</actionGroup>
24+
</actionGroups>

app/code/Magento/User/Test/Mftf/Data/UserRoleData.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,17 @@
4848
</array>
4949
</entity>
5050

51+
<entity name="limitedRole" type="role">
52+
<data key="name" unique="suffix">Limited</data>
53+
<data key="roleScopes">Custom</data>
54+
<data key="resourceAccess">All</data>
55+
</entity>
56+
57+
<entity name="restrictedRole" type="role">
58+
<data key="name" unique="suffix">Restricted</data>
59+
<data key="roleScopes">Custom</data>
60+
<data key="resourceAccess">All</data>
61+
</entity>
5162
<!-- This admin created for checking turn off "Bulk Actions" -->
5263
<entity name="adminWithoutBulkActionRole" type="user_role">
5364
<data key="rolename">restrictedWebsiteRole</data>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="AdminCreateRoleSection">
12+
<element name="create" type="button" selector="#add"/>
13+
<element name="name" type="button" selector="#role_name"/>
14+
<element name="password" type="input" selector="#current_password"/>
15+
<element name="roleResources" type="button" selector="#role_info_tabs_account"/>
16+
<element name="roleResourceNew" type="button" selector="#all"/>
17+
<element name="roleScopeNew" type="button" selector="#gws_is_all"/>
18+
<element name="selectWebsite" type="checkbox" selector="//label[contains(text(), '{{websiteName}}')]/preceding-sibling::input" parameterized="true"/>
19+
<element name="save" type="button" selector="button.save-role"/>
20+
<element name="roleNameFilterTextField" type="input" selector="#permissionsUserRolesGrid_filter_role_name"/>
21+
<element name="searchButton" type="button" selector=".admin__data-grid-header button[title=Search]"/>
22+
<element name="searchResultFirstRow" type="text" selector=".data-grid>tbody>tr"/>
23+
</section>
24+
</sections>
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="AdminDeleteRoleSection">
12+
<element name="theRole" selector="//td[contains(text(), 'Role')]" type="button"/>
13+
<element name="current_pass" type="button" selector="#current_password"/>
14+
<element name="delete" selector="//button/span[contains(text(), 'Delete Role')]" type="button"/>
15+
<element name="confirm" selector=".action-primary.action-accept" type="button"/>
16+
</section>
17+
</sections>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="AdminDeleteUserSection">
12+
<element name="theUser" selector="//td[contains(text(), 'John')]" type="button"/>
13+
<element name="password" selector="#user_current_password" type="input"/>
14+
<element name="delete" selector="//button/span[contains(text(), 'Delete User')]" type="button"/>
15+
<element name="confirm" selector=".action-primary.action-accept" type="button"/>
16+
<element name="role" parameterized="true" selector="//td[contains(text(), '{{args}}')]" type="button"/>
17+
</section>
18+
</sections>

0 commit comments

Comments
 (0)