Skip to content

Commit 5dcb21b

Browse files
committed
Test improvements:
- added action group to delete user - removed duplicate action groups - introduced metadata for admin user deletion - added test case id - updated annotations - issue magento/magento-functional-tests-migration/377 - pull request magento/magento-functional-tests-migration/704
1 parent 8f2d2f9 commit 5dcb21b

13 files changed

+176
-157
lines changed
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="AdminLegacyDataGridFilterSection">
12+
<element name="filterForm" type="block" selector="[data-role='filter-form']" />
13+
<element name="inputFieldByNameAttr" type="input" selector="[data-role='filter-form'] input[name='{{inputNameAttr}}']" parameterized="true" />
14+
<element name="apply" type="button" selector=".admin__data-grid-header [data-action='grid-filter-apply']" />
15+
<element name="clear" type="button" selector=".admin__data-grid-header [data-action='grid-filter-reset']" />
16+
</section>
17+
</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="AdminLegacyDataGridTableSection">
12+
<element name="rowTemplateStrict" type="block" selector="//tbody/tr[td[text()[normalize-space()='{{text}}']]]" parameterized="true" />
13+
<element name="rowTemplate" type="block" selector="//tbody/tr[td[contains(.,normalize-space('{{text}}'))]]" parameterized="true" />
14+
<element name="columnTemplateStrict" type="block" selector="//tbody/tr[td[contains(.,normalize-space('{{text}}'))]]/td[@data-column='{{dataColumn}}']" parameterized="true" />
15+
<element name="columnTemplate" type="block" selector="//tbody/tr[td[contains(.,normalize-space('{{text}}'))]]/td[@data-column='{{dataColumn}}']" parameterized="true" />
16+
</section>
17+
</sections>

app/code/Magento/Security/Test/Mftf/Test/AdminUserLockWhenEditingUserTest.xml

Lines changed: 38 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -11,139 +11,95 @@
1111
<test name="AdminUserLockWhenEditingUserTest">
1212
<annotations>
1313
<features value="Security"/>
14-
<stories value="Runs Lock admin user when creating new user test."/>
15-
<title value="Lock admin user when creating new user"/>
16-
<description value="Runs Lock admin user when creating new user test."/>
17-
<severity value="MAJOR"/>
14+
<stories value="Runs Lock admin user when editing existing user test."/>
15+
<title value="Lock admin user when creating new user."/>
16+
<description value="Runs Lock admin user when editing existing user test."/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MC-14372" />
1819
<group value="security"/>
1920
<group value="mtf_migrated"/>
2021
</annotations>
2122
<before>
22-
<createData entity="Admin3" stepKey="user"/>
23+
<!--
24+
@TODO: Remove "executeJS" in scope of MQE-1561
25+
Hack to be able to pass current admin user password without hardcoding it.
26+
-->
27+
<executeJS function="return '{{DefaultAdminUser.password}}'" stepKey="adminPassword" />
28+
<createData entity="NewAdminUser" stepKey="user">
29+
<field key="current_password">{$adminPassword}</field>
30+
</createData>
2331
<!-- Log in to Admin Panel -->
2432
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
2533
</before>
2634
<after>
2735
<!-- Unlock Admin user -->
2836
<magentoCLI command="admin:user:unlock {{DefaultAdminUser.username}}" stepKey="unlockAdminUser"/>
29-
<!-- TODO Need to create delete operation for data entity="Admin3"
30-
<deleteData createDataKey="user" stepKey="removeAdminUser"/>-->
37+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
38+
<actionGroup ref="AdminDeleteUserViaCurlActionGroup" stepKey="deleteUser">
39+
<argument name="user" value="$$user$$" />
40+
</actionGroup>
41+
<actionGroup ref="logout" stepKey="logout"/>
3142
</after>
3243

3344
<actionGroup ref="AdminOpenUserEditPageActionGroup" stepKey="openEditUserPageFirstAttempt">
34-
<argument name="adminUser" value="$$user.username$$"/>
35-
</actionGroup>
36-
<actionGroup ref="AdminUserEditFillRequiredFieldsActionGroup" stepKey="fillEditUserFieldsFirstAttempt">
37-
<argument name="adminUser" value="$$user.username$$"/>
38-
<argument name="adminFirstname" value="NEW$$user.firstname$$"/>
39-
<argument name="adminLastname" value="NEW$$user.lastname$$"/>
40-
<argument name="adminEmail" value="new$$user.email$$"/>
41-
<argument name="adminPassword" value="NEW$$user.password$$"/>
42-
<argument name="adminPasswordConfirmation" value="NEW$$user.password_confirmation$$"/>
43-
<argument name="currentAdminPassword" value="{{DefaultAdminUser.password}}INVALID"/>
45+
<argument name="user" value="$$user$$"/>
4446
</actionGroup>
45-
<actionGroup ref="AdminUserEditAssignRoleActionGroup" stepKey="assignRoleFirstAttempt">
46-
<argument name="adminUserRole" value="1"/>
47+
48+
<actionGroup ref="AdminFillNewUserFormRequiredFieldsActionGroup" stepKey="fillEditUserFieldsFirstAttempt">
49+
<argument name="user" value="EditAdminUserWrongCurrentPassword" />
4750
</actionGroup>
48-
<actionGroup ref="AdminUserEditSaveUserActionGroup" stepKey="saveUserFirstAttempt" />
51+
<actionGroup ref="AdminClickSaveButtonOnUserFormActionGroup" stepKey="clickSaveFirstAttempt" />
4952
<actionGroup ref="AssertMessageInAdminPanelActionGroup" stepKey="seeErrorFirstAttempt" >
5053
<argument name="messageType" value="error" />
5154
<argument name="message" value="The password entered for the current user is invalid. Verify the password and try again." />
5255
</actionGroup>
5356

54-
<actionGroup ref="AdminUserEditFillRequiredFieldsActionGroup" stepKey="fillEditUserFieldsSecondAttempt">
55-
<argument name="adminUser" value="$$user.username$$"/>
56-
<argument name="adminFirstname" value="NEW$$user.firstname$$"/>
57-
<argument name="adminLastname" value="NEW$$user.lastname$$"/>
58-
<argument name="adminEmail" value="new$$user.email$$"/>
59-
<argument name="adminPassword" value="NEW$$user.password$$"/>
60-
<argument name="adminPasswordConfirmation" value="NEW$$user.password_confirmation$$"/>
61-
<argument name="currentAdminPassword" value="{{DefaultAdminUser.password}}INVALID"/>
57+
<actionGroup ref="AdminFillNewUserFormRequiredFieldsActionGroup" stepKey="fillEditUserFieldsSecondAttempt">
58+
<argument name="user" value="EditAdminUserWrongCurrentPassword" />
6259
</actionGroup>
63-
<actionGroup ref="AdminUserEditAssignRoleActionGroup" stepKey="assignRoleSecondAttempt">
64-
<argument name="adminUserRole" value="1"/>
65-
</actionGroup>
66-
<actionGroup ref="AdminUserEditSaveUserActionGroup" stepKey="saveUserSecondAttempt" />
60+
<actionGroup ref="AdminClickSaveButtonOnUserFormActionGroup" stepKey="clickSaveSecondAttempt" />
6761
<actionGroup ref="AssertMessageInAdminPanelActionGroup" stepKey="seeErrorSecondAttempt" >
6862
<argument name="messageType" value="error" />
6963
<argument name="message" value="The password entered for the current user is invalid. Verify the password and try again." />
7064
</actionGroup>
7165

72-
<actionGroup ref="AdminUserEditFillRequiredFieldsActionGroup" stepKey="fillEditUserFieldsThirdAttempt">
73-
<argument name="adminUser" value="$$user.username$$"/>
74-
<argument name="adminFirstname" value="NEW$$user.firstname$$"/>
75-
<argument name="adminLastname" value="NEW$$user.lastname$$"/>
76-
<argument name="adminEmail" value="new$$user.email$$"/>
77-
<argument name="adminPassword" value="NEW$$user.password$$"/>
78-
<argument name="adminPasswordConfirmation" value="NEW$$user.password_confirmation$$"/>
79-
<argument name="currentAdminPassword" value="{{DefaultAdminUser.password}}INVALID"/>
80-
</actionGroup>
81-
<actionGroup ref="AdminUserEditAssignRoleActionGroup" stepKey="assignRoleThirdAttempt">
82-
<argument name="adminUserRole" value="1"/>
66+
<actionGroup ref="AdminFillNewUserFormRequiredFieldsActionGroup" stepKey="fillEditUserFieldsThirdAttempt">
67+
<argument name="user" value="EditAdminUserWrongCurrentPassword" />
8368
</actionGroup>
84-
<actionGroup ref="AdminUserEditSaveUserActionGroup" stepKey="saveUserThirdAttempt" />
69+
<actionGroup ref="AdminClickSaveButtonOnUserFormActionGroup" stepKey="clickSaveThirdAttempt" />
8570
<actionGroup ref="AssertMessageInAdminPanelActionGroup" stepKey="seeErrorThirdAttempt" >
8671
<argument name="messageType" value="error" />
8772
<argument name="message" value="The password entered for the current user is invalid. Verify the password and try again." />
8873
</actionGroup>
8974

90-
<actionGroup ref="AdminUserEditFillRequiredFieldsActionGroup" stepKey="fillEditUserFieldsFourthAttempt">
91-
<argument name="adminUser" value="$$user.username$$"/>
92-
<argument name="adminFirstname" value="NEW$$user.firstname$$"/>
93-
<argument name="adminLastname" value="NEW$$user.lastname$$"/>
94-
<argument name="adminEmail" value="new$$user.email$$"/>
95-
<argument name="adminPassword" value="NEW$$user.password$$"/>
96-
<argument name="adminPasswordConfirmation" value="NEW$$user.password_confirmation$$"/>
97-
<argument name="currentAdminPassword" value="{{DefaultAdminUser.password}}INVALID"/>
75+
<actionGroup ref="AdminFillNewUserFormRequiredFieldsActionGroup" stepKey="fillEditUserFieldsFourthAttempt">
76+
<argument name="user" value="EditAdminUserWrongCurrentPassword" />
9877
</actionGroup>
99-
<actionGroup ref="AdminUserEditAssignRoleActionGroup" stepKey="assignRoleFourthAttempt">
100-
<argument name="adminUserRole" value="1"/>
101-
</actionGroup>
102-
<actionGroup ref="AdminUserEditSaveUserActionGroup" stepKey="saveUserFourthAttempt" />
78+
<actionGroup ref="AdminClickSaveButtonOnUserFormActionGroup" stepKey="clickSaveFourthAttempt" />
10379
<actionGroup ref="AssertMessageInAdminPanelActionGroup" stepKey="seeErrorFourthAttempt" >
10480
<argument name="messageType" value="error" />
10581
<argument name="message" value="The password entered for the current user is invalid. Verify the password and try again." />
10682
</actionGroup>
10783

108-
<actionGroup ref="AdminUserEditFillRequiredFieldsActionGroup" stepKey="fillEditUserFieldsFifthAttempt">
109-
<argument name="adminUser" value="$$user.username$$"/>
110-
<argument name="adminFirstname" value="NEW$$user.firstname$$"/>
111-
<argument name="adminLastname" value="NEW$$user.lastname$$"/>
112-
<argument name="adminEmail" value="new$$user.email$$"/>
113-
<argument name="adminPassword" value="NEW$$user.password$$"/>
114-
<argument name="adminPasswordConfirmation" value="NEW$$user.password_confirmation$$"/>
115-
<argument name="currentAdminPassword" value="{{DefaultAdminUser.password}}INVALID"/>
116-
</actionGroup>
117-
<actionGroup ref="AdminUserEditAssignRoleActionGroup" stepKey="assignRoleFifthAttempt">
118-
<argument name="adminUserRole" value="1"/>
84+
<actionGroup ref="AdminFillNewUserFormRequiredFieldsActionGroup" stepKey="fillEditUserFieldsFifthAttempt">
85+
<argument name="user" value="EditAdminUserWrongCurrentPassword" />
11986
</actionGroup>
120-
<actionGroup ref="AdminUserEditSaveUserActionGroup" stepKey="saveUserFifthAttempt" />
87+
<actionGroup ref="AdminClickSaveButtonOnUserFormActionGroup" stepKey="clickSaveFifthAttempt" />
12188
<actionGroup ref="AssertMessageInAdminPanelActionGroup" stepKey="seeErrorFifthAttempt" >
12289
<argument name="messageType" value="error" />
12390
<argument name="message" value="The password entered for the current user is invalid. Verify the password and try again." />
12491
</actionGroup>
12592

126-
<actionGroup ref="AdminUserEditFillRequiredFieldsActionGroup" stepKey="fillEditUserFieldsLastAttempt">
127-
<argument name="adminUser" value="$$user.username$$"/>
128-
<argument name="adminFirstname" value="NEW$$user.firstname$$"/>
129-
<argument name="adminLastname" value="NEW$$user.lastname$$"/>
130-
<argument name="adminEmail" value="new$$user.email$$"/>
131-
<argument name="adminPassword" value="NEW$$user.password$$"/>
132-
<argument name="adminPasswordConfirmation" value="NEW$$user.password_confirmation$$"/>
133-
<argument name="currentAdminPassword" value="{{DefaultAdminUser.password}}INVALID"/>
93+
<actionGroup ref="AdminFillNewUserFormRequiredFieldsActionGroup" stepKey="fillEditUserFieldsLastAttempt">
94+
<argument name="user" value="EditAdminUserWrongCurrentPassword" />
13495
</actionGroup>
135-
<actionGroup ref="AdminUserEditAssignRoleActionGroup" stepKey="assignRoleLastAttempt">
136-
<argument name="adminUserRole" value="1"/>
137-
</actionGroup>
138-
<actionGroup ref="AdminUserEditSaveUserActionGroup" stepKey="saveUserLastAttempt" />
96+
<actionGroup ref="AdminClickSaveButtonOnUserFormActionGroup" stepKey="clickSaveLastAttempt" />
13997
<actionGroup ref="AssertMessageOnAdminLoginActionGroup" stepKey="seeErrorLastAttempt" >
14098
<argument name="message" value="Your account is temporarily disabled. Please try again later." />
14199
</actionGroup>
142100

143101
<!-- Try to login as admin and check error -->
144102
<actionGroup ref="LoginAsAdmin" stepKey="loginAsLockedAdmin"/>
145-
<waitForPageLoad stepKey="waitForError"/>
146103
<actionGroup ref="AssertMessageOnAdminLoginActionGroup" stepKey="seeLoginErrorMessage" />
147-
148104
</test>
149105
</tests>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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="AdminDeleteUserViaCurlActionGroup">
11+
<arguments>
12+
<argument name="user" type="entity" />
13+
</arguments>
14+
<amOnPage stepKey="amOnAdminUsersPage" url="{{AdminUsersPage.url}}"/>
15+
<waitForPageLoad stepKey="waitForAdminUserPageLoad"/>
16+
<click selector="{{AdminLegacyDataGridFilterSection.clear}}" stepKey="resetFilters" />
17+
<grabTextFrom selector="{{AdminLegacyDataGridTableSection.columnTemplateStrict(user.username, 'user_id')}}" stepKey="userId" />
18+
19+
<!--
20+
@TODO: Remove "executeJS" in scope of MQE-1561
21+
Hack to be able to pass current admin user password without hardcoding it.
22+
-->
23+
<executeJS function="return '{{DefaultAdminUser.password}}'" stepKey="adminPassword" />
24+
25+
<createData entity="deleteUser" stepKey="deleteUser">
26+
<field key="user_id">{$userId}</field>
27+
<field key="current_password">{$adminPassword}</field>
28+
</createData>
29+
</actionGroup>
30+
</actionGroups>

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,17 @@
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
1010
<actionGroup name="AdminOpenUserEditPageActionGroup">
1111
<arguments>
12-
<argument name="adminUser" type="string" defaultValue="DefaultAdminUser.username"/>
12+
<argument name="user" type="entity" />
1313
</arguments>
1414

1515
<amOnPage url="{{AdminUsersPage.url}}" stepKey="openAdminUsersPage"/>
16-
<fillField selector="{{AdminUserGridSection.usernameFilterTextField}}" userInput="{{adminUser}}" stepKey="fillSearchUsernameFilter"/>
17-
<click selector="{{AdminUserGridSection.searchButton}}" stepKey="clickSearch" />
16+
<waitForPageLoad stepKey="waitForPageToLoad"/>
17+
<click selector="{{AdminLegacyDataGridFilterSection.clear}}" stepKey="resetFilters" />
18+
<fillField selector="{{AdminLegacyDataGridFilterSection.inputFieldByNameAttr('username')}}" userInput="{{user.username}}" stepKey="fillSearchUsernameFilter"/>
19+
<click selector="{{AdminLegacyDataGridFilterSection.apply}}" stepKey="clickSearch" />
1820
<waitForPageLoad stepKey="waitForGridToLoad"/>
19-
<see selector="{{AdminUserGridSection.usernameInFirstRow}}" userInput="{{adminUser}}" stepKey="seeUser" />
20-
<click selector="{{AdminUserGridSection.searchResultFirstRow}}" stepKey="openUserEdit"/>
21-
<waitForPageLoad stepKey="waitForUserEditPageLoad"/>
2221

22+
<click selector="{{AdminLegacyDataGridTableSection.rowTemplateStrict(user.username)}}" stepKey="openUserEdit"/>
23+
<waitForPageLoad stepKey="waitForUserEditPageLoad"/>
2324
</actionGroup>
2425
</actionGroups>

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

Lines changed: 0 additions & 19 deletions
This file was deleted.

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

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)