Skip to content

Commit a1e5689

Browse files
authored
Merge pull request #6265 from magento-tsg/MC-34292
[Arrows] MC-34292: AdminCreateUserRoleWithReportsActionGroup needs to be refactored to be based in CE
2 parents 68c903f + a80350a commit a1e5689

8 files changed

+183
-5
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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="AdminChooseUserRoleResourceActionGroup">
11+
<annotations>
12+
<description>Check the resource access checkbox. Leave the form open.</description>
13+
</annotations>
14+
<arguments>
15+
<argument name="resourceId" type="string" defaultValue="Magento_Backend::dashboard"/>
16+
<argument name="resourceName" type="string" defaultValue="Dashboard"/>
17+
</arguments>
18+
19+
<waitForElementVisible selector="{{AdminEditRoleResourcesSection.resourceCheckboxLink(resourceId, resourceName)}}" stepKey="waitForResourceCheckboxVisible"/>
20+
<click selector="{{AdminEditRoleResourcesSection.resourceCheckboxLink(resourceId, resourceName)}}" stepKey="checkResource"/>
21+
<seeCheckboxIsChecked selector="{{AdminEditRoleResourcesSection.resourceCheckbox(resourceId)}}" stepKey="seeCheckedResource"/>
22+
</actionGroup>
23+
</actionGroups>
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminSaveUserRoleActionGroup">
11+
<annotations>
12+
<description>Click to Save Role</description>
13+
</annotations>
14+
<click selector="{{AdminEditRoleInfoSection.saveButton}}" stepKey="clickSaveRoleButton" />
15+
<waitForElementVisible selector="{{AdminMessagesSection.success}}" stepKey="waitForSuccessMessage"/>
16+
<see selector="{{AdminMessagesSection.success}}" userInput="You saved the role." stepKey="seeSuccessMessageForSavedRole"/>
17+
</actionGroup>
18+
</actionGroups>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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="AdminStartCreateUserRoleActionGroup">
11+
<annotations>
12+
<description>Open Admin Edit Role page. Fills role, user password, resource access. Leave the form open.</description>
13+
</annotations>
14+
<arguments>
15+
<argument name="roleName" type="string" defaultValue="{{limitedRole.name}}"/>
16+
<argument name="userPassword" type="string" defaultValue="123123q"/>
17+
<argument name="resourceAccess" type="string" defaultValue="Custom"/>
18+
</arguments>
19+
<amOnPage url="{{AdminEditRolePage.url}}" stepKey="openNewAdminRolePage"/>
20+
<waitForElementVisible selector="{{AdminCreateRoleSection.name}}" stepKey="waitForName"/>
21+
<fillField selector="{{AdminCreateRoleSection.name}}" userInput="{{roleName}}" stepKey="setTheRoleName"/>
22+
<fillField selector="{{AdminCreateRoleSection.password}}" userInput="{{userPassword}}" stepKey="setPassword"/>
23+
<click selector="{{AdminCreateRoleSection.roleResources}}" stepKey="clickToOpenRoleResources"/>
24+
<selectOption selector="{{AdminEditRoleResourcesSection.resourceAccess}}" userInput="{{resourceAccess}}" stepKey="chooseResourceAccess"/>
25+
</actionGroup>
26+
</actionGroups>

app/code/Magento/User/Test/Mftf/ActionGroup/AdminUserSaveRoleActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
1010
<actionGroup name="AdminUserSaveRoleActionGroup">
1111
<annotations>
12-
<description>Click to Save Role</description>
12+
<description>Deprecated. Please use AdminSaveUserRoleActionGroup</description>
1313
</annotations>
1414
<click selector="{{AdminEditRoleInfoSection.saveButton}}" stepKey="clickSaveRoleButton" />
1515
<see userInput="You saved the role." stepKey="seeUserRoleSavedMessage"/>

app/code/Magento/User/Test/Mftf/Section/AdminCreateRoleSection.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="AdminCreateRoleSection">
12-
<element name="create" type="button" selector="#add"/>
12+
<element name="create" type="button" selector="#add" timeout="30"/>
1313
<element name="name" type="button" selector="#role_name"/>
1414
<element name="password" type="input" selector="#current_password"/>
1515
<element name="resourceAccess" type="select" selector="[data-ui-id='adminhtml-user-editroles-tab-content-account'] [name='all']"/>
1616
<element name="resourceTree" type="block" selector="[data-ui-id='adminhtml-user-editroles-tab-content-account'] [data-role='resource-tree']"/>
1717

18-
<element name="roleResources" type="button" selector="#role_info_tabs_account"/>
18+
<element name="roleResources" type="button" selector="#role_info_tabs_account" timeout="30"/>
1919
<element name="roleResource" type="button" selector="#gws_is_all"/>
2020
<element name="roleResourceNew" type="button" selector="#all"/>
2121
<element name="resourceValue" type="button" selector="//*[text()='{{arg1}}']" parameterized="true"/>
@@ -24,7 +24,7 @@
2424
<element name="scopeValue" type="button" selector="//select[@id='all']/*[text()='{{arg2}}']" parameterized="true"/>
2525
<element name="website" type="checkbox" selector="//*[contains(text(), '{{arg3}}')]" parameterized="true"/>
2626
<element name="selectWebsite" type="checkbox" selector="//label[contains(text(), '{{websiteName}}')]/preceding-sibling::input" parameterized="true"/>
27-
<element name="save" type="button" selector="//button[@title='Save Role']"/>
27+
<element name="save" type="button" selector="//button[@title='Save Role']" timeout="30"/>
2828
<element name="roleNameFilterTextField" type="input" selector="#permissionsUserRolesGrid_filter_role_name"/>
2929
<element name="searchButton" type="button" selector=".admin__data-grid-header button[title=Search]"/>
3030
<element name="searchResultFirstRow" type="text" selector=".data-grid>tbody>tr"/>

app/code/Magento/User/Test/Mftf/Section/AdminEditRoleInfoSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<element name="backButton" type="button" selector="button[title='Back']"/>
1414
<element name="resetButton" type="button" selector="button[title='Reset']"/>
1515
<element name="deleteButton" type="button" selector="button[title='Delete Role']"/>
16-
<element name="saveButton" type="button" selector="button[title='Save Role']"/>
16+
<element name="saveButton" type="button" selector="button[title='Save Role']" timeout="30"/>
1717
<element name="message" type="text" selector=".modal-popup.confirm div.modal-content"/>
1818
<element name="cancel" type="button" selector=".modal-popup.confirm button.action-dismiss"/>
1919
<element name="ok" type="button" selector=".modal-popup.confirm button.action-accept" timeout="60"/>

app/code/Magento/User/Test/Mftf/Section/AdminEditRoleResourcesSection.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
<element name="resources" type="checkbox" selector="#role_info_tabs_account"/>
1212
<element name="storeName" type="checkbox" selector="//label[contains(text(),'{{var1}}')]" parameterized="true"/>
1313
<element name="reportsCheckbox" type="text" selector="//li[@data-id='Magento_Reports::report']//a[text()='Reports']"/>
14+
<element name="resourceCheckboxLink" type="checkbox" selector="//li[@data-id='{{resourceId}}']//a[text()='{{resourceName}}']" timeout="30" parameterized="true"/>
15+
<element name="resourceCheckbox" type="checkbox" selector="//li[@data-id='{{resourceId}}']/input" timeout="30" parameterized="true"/>
1416
<element name="userRoles" type="text" selector="//span[contains(text(), 'User Roles')]"/>
1517
</section>
1618
</sections>
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminReviewOrderWithReportsPermissionTest">
12+
<annotations>
13+
<features value="User"/>
14+
<stories value="Admin with restricted permissions"/>
15+
<title value="User should be able to review ordered products with only 'Reports' permission"/>
16+
<description value="User should be able to review ordered products with only 'Reports' permission"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="MAGETWO-25812"/>
19+
<group value="user"/>
20+
</annotations>
21+
<before>
22+
<createData entity="ApiCategory" stepKey="createCategory"/>
23+
<createData entity="ApiSimpleProduct" stepKey="createProduct">
24+
<requiredEntity createDataKey="createCategory"/>
25+
</createData>
26+
27+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
28+
<actionGroup ref="AdminCreateWebsiteActionGroup" stepKey="createWebsite">
29+
<argument name="newWebsiteName" value="{{NewWebSiteData.name}}"/>
30+
<argument name="websiteCode" value="{{NewWebSiteData.code}}"/>
31+
</actionGroup>
32+
<actionGroup ref="AdminCreateNewStoreGroupActionGroup" stepKey="createNewStore">
33+
<argument name="website" value="{{NewWebSiteData.name}}"/>
34+
<argument name="storeGroupName" value="{{NewStoreData.name}}"/>
35+
<argument name="storeGroupCode" value="{{NewStoreData.code}}"/>
36+
</actionGroup>
37+
<actionGroup ref="AdminCreateStoreViewActionGroup" stepKey="createCustomStoreView">
38+
<argument name="StoreGroup" value="NewStoreData"/>
39+
<argument name="customStore" value="NewStoreViewData"/>
40+
</actionGroup>
41+
<actionGroup ref="AdminCreateCustomerWithWebsiteAndStoreViewActionGroup" stepKey="createCustomerWithWebsiteAndStoreView">
42+
<argument name="customerData" value="Simple_US_Customer"/>
43+
<argument name="address" value="US_Address_NY"/>
44+
<argument name="website" value="{{NewWebSiteData.name}}"/>
45+
<argument name="storeView" value="{{NewStoreViewData.name}}"/>
46+
</actionGroup>
47+
<actionGroup ref="SearchForProductOnBackendActionGroup" stepKey="searchForProductOnAdmin">
48+
<argument name="product" value="$createProduct$"/>
49+
</actionGroup>
50+
<actionGroup ref="CreatedProductConnectToWebsiteActionGroup" stepKey="productConnectToWebsite">
51+
<argument name="website" value="NewWebSiteData"/>
52+
<argument name="product" value="$createProduct$"/>
53+
</actionGroup>
54+
<actionGroup ref="CreateOrderInStoreChoosingPaymentMethodActionGroup" stepKey="createOrder">
55+
<argument name="product" value="$createProduct$"/>
56+
<argument name="customer" value="Simple_US_Customer"/>
57+
<argument name="storeView" value="NewStoreViewData"/>
58+
</actionGroup>
59+
<actionGroup ref="AdminStartCreateUserRoleActionGroup" stepKey="startCreateUserRole">
60+
<argument name="roleName" value="{{limitedRole.name}}"/>
61+
<argument name="userPassword" value="{{_ENV.MAGENTO_ADMIN_PASSWORD}}"/>
62+
<argument name="resourceAccess" value="Custom"/>
63+
</actionGroup>
64+
<actionGroup ref="AdminChooseUserRoleResourceActionGroup" stepKey="setResourceAccess">
65+
<argument name="resourceId" value="Magento_Reports::report"/>
66+
<argument name="resourceName" value="Reports"/>
67+
</actionGroup>
68+
<actionGroup ref="AdminSaveUserRoleActionGroup" stepKey="saveRole"/>
69+
<actionGroup ref="AdminCreateUserWithRoleActionGroup" stepKey="createUser">
70+
<argument name="role" value="limitedRole"/>
71+
<argument name="user" value="NewAdminUser"/>
72+
</actionGroup>
73+
</before>
74+
<after>
75+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
76+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
77+
78+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutAdminUser"/>
79+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
80+
<actionGroup ref="AdminDeleteCreatedUserActionGroup" stepKey="deleteUser">
81+
<argument name="user" value="NewAdminUser"/>
82+
</actionGroup>
83+
<actionGroup ref="ClearFiltersAdminDataGridActionGroup" stepKey="clearAdminUserGridFilters"/>
84+
<amOnPage url="{{AdminRolesPage.url}}" stepKey="navigateToUserRoleGrid"/>
85+
<actionGroup ref="AdminDeleteRoleActionGroup" stepKey="deleteRole">
86+
<argument name="role" value="limitedRole"/>
87+
</actionGroup>
88+
89+
<actionGroup ref="AdminDeleteCustomerActionGroup" stepKey="deleteCustomer">
90+
<argument name="customerEmail" value="Simple_US_Customer.email"/>
91+
</actionGroup>
92+
<actionGroup ref="AdminClearCustomersFiltersActionGroup" stepKey="clearCustomerFilters"/>
93+
<actionGroup ref="AdminDeleteWebsiteActionGroup" stepKey="deleteWebsite">
94+
<argument name="websiteName" value="{{NewWebSiteData.name}}"/>
95+
</actionGroup>
96+
<actionGroup ref="AdminClearFiltersActionGroup" stepKey="clearProductFilters"/>
97+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin"/>
98+
</after>
99+
100+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin"/>
101+
<actionGroup ref="AdminLoginActionGroup" stepKey="logAsNewUser">
102+
<argument name="username" value="{{NewAdminUser.username}}"/>
103+
<argument name="password" value="{{NewAdminUser.password}}"/>
104+
</actionGroup>
105+
<actionGroup ref="AdminReviewOrderActionGroup" stepKey="reviewOrder">
106+
<argument name="productName" value="$createProduct.name$"/>
107+
</actionGroup>
108+
</test>
109+
</tests>

0 commit comments

Comments
 (0)