Skip to content

Commit

Permalink
MC-9023: 'Your Bulk Operations Log' isn't accessible if admin user do…
Browse files Browse the repository at this point in the history
…esn't have privileges for it
  • Loading branch information
MilaLesechko committed Jun 24, 2019
1 parent 0043bee commit 9ddb180
Show file tree
Hide file tree
Showing 8 changed files with 142 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* 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="AdminSystemMessagesSection">
<element name="systemMessagesDropdown" type="button" selector="#system_messages .message-system-action-dropdown"/>
<element name="actionMessageLog" type="button" selector="//*[contains(@class, 'message-system-summary')]/a[contains(text(), '{{textMessage}}')]" parameterized="true"/>
</section>
</sections>
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,8 @@
<element name="widgets" type="button" selector="#nav li[data-ui-id='menu-magento-widget-cms-widget-instance']"/>
<element name="stores" type="button" selector="#menu-magento-backend-stores"/>
<element name="configuration" type="button" selector="#nav li[data-ui-id='menu-magento-config-system-config']"/>

<!-- Navigate menu selectors -->
<element name="menuItem" type="button" selector="li[data-ui-id='menu-{{dataUiId}}']" parameterized="true" timeout="30"/>
</section>
</sections>
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@
<element name="errorMessage" type="text" selector=".message.message-error.error"/>
<element name="warningMessage" type="text" selector=".message-warning"/>
<element name="noticeMessage" type="text" selector=".message-notice"/>
<element name="accessDenied" type="text" selector=".access-denied-page"/>
</section>
</sections>
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,31 @@
<click selector="{{AdminMainActionsSection.save}}" stepKey="clickSaveUser" />
<see userInput="You saved the user." stepKey="seeSuccessMessage" />
</actionGroup>

<!--Create new user with role-->
<actionGroup name="AdminCreateUserWithRoleActionGroup">
<arguments>
<argument name="role"/>
<argument name="user" defaultValue="newAdmin"/>
</arguments>
<amOnPage url="{{AdminNewUserPage.url}}" stepKey="navigateToNewUser"/>
<waitForPageLoad stepKey="waitForUsersPage" />
<fillField selector="{{AdminNewUserFormSection.username}}" userInput="{{user.username}}" stepKey="enterUserName" />
<fillField selector="{{AdminNewUserFormSection.firstname}}" userInput="{{user.firstName}}" stepKey="enterFirstName" />
<fillField selector="{{AdminNewUserFormSection.lastname}}" userInput="{{user.lastName}}" stepKey="enterLastName" />
<fillField selector="{{AdminNewUserFormSection.email}}" userInput="{{user.username}}@magento.com" stepKey="enterEmail" />
<fillField selector="{{AdminNewUserFormSection.password}}" userInput="{{user.password}}" stepKey="enterPassword" />
<fillField selector="{{AdminNewUserFormSection.passwordConfirmation}}" userInput="{{user.password}}" stepKey="confirmPassword" />
<fillField selector="{{AdminNewUserFormSection.currentPassword}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="enterCurrentPassword" />
<scrollToTopOfPage stepKey="scrollToTopOfPage" />
<click stepKey="clickUserRole" selector="{{AdminNewUserFormSection.userRoleTab}}"/>
<click stepKey="chooseRole" selector="{{AdminStoreSection.createdRoleInUserPage(role.name)}}"/>
<click selector="{{AdminNewUserFormSection.save}}" stepKey="clickSaveUser" />
<waitForPageLoad stepKey="waitForSaveTheUser" />
<see userInput="You saved the user." stepKey="seeSuccessMessage" />
</actionGroup>

<actionGroup name="AdminCreateUserWithApiRoleActionGroup" extends="AdminCreateUserWithRoleActionGroup">
<click stepKey="chooseRole" selector="{{AdminNewUserFormSection.roleRadiobutton(role.rolename)}}"/>
</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?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="AdminDeleteCreatedRoleActionGroup">
<arguments>
<argument name="role" defaultValue=""/>
</arguments>
<amOnPage url="{{AdminRolesPage.url}}" stepKey="amOnAdminUsersPage"/>
<waitForPageLoad stepKey="waitForUserRolePageLoad"/>
<click stepKey="clickToAddNewRole" selector="{{AdminDeleteRoleSection.role(role.name)}}"/>
<fillField stepKey="TypeCurrentPassword" selector="{{AdminDeleteRoleSection.current_pass}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}"/>
<click stepKey="clickToDeleteRole" selector="{{AdminDeleteRoleSection.delete}}"/>
<waitForElementVisible stepKey="wait" selector="{{AdminDeleteRoleSection.confirm}}" time="30"/>
<click stepKey="clickToConfirm" selector="{{AdminDeleteRoleSection.confirm}}"/>
<waitForPageLoad stepKey="waitForPageLoad"/>
<see stepKey="seeSuccessMessage" userInput="You deleted the role."/>
</actionGroup>
<actionGroup name="AdminDeleteRoleByRoleNameActionGroup" extends="AdminDeleteCreatedRoleActionGroup">
<click stepKey="clickToAddNewRole" selector="{{AdminDeleteRoleSection.role(role.rolename)}}"/>
</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,22 @@
<click selector="{{AdminConfirmationModalSection.ok}}" stepKey="confirmDelete"/>
<see userInput="You deleted the user." stepKey="seeUserDeleteMessage"/>
</actionGroup>
<actionGroup name="AdminDeleteCustomUserActionGroup">
<arguments>
<argument name="user"/>
</arguments>
<amOnPage url="{{AdminUsersPage.url}}" stepKey="navigateToUserGrid" />
<fillField selector="{{AdminUserGridSection.usernameFilterTextField}}" userInput="{{user.username}}" stepKey="enterUserName" />
<click selector="{{AdminUserGridSection.searchButton}}" stepKey="clickSearch" />
<waitForPageLoad stepKey="waitForGridToLoad"/>
<see selector="{{AdminUserGridSection.usernameInFirstRow}}" userInput="{{user.username}}" stepKey="seeUser" />
<click selector="{{AdminUserGridSection.searchResultFirstRow}}" stepKey="openUserEdit"/>
<waitForPageLoad stepKey="waitForUserEditPageLoad"/>
<fillField selector="{{AdminEditUserSection.currentPasswordField}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="enterThePassword" />
<click selector="{{AdminMainActionsSection.delete}}" stepKey="deleteUser"/>
<waitForElementVisible selector="{{AdminConfirmationModalSection.message}}" stepKey="waitForConfirmModal"/>
<click selector="{{AdminConfirmationModalSection.ok}}" stepKey="confirmDelete"/>
<waitForPageLoad stepKey="waitForSave" />
<see selector="{{AdminMessagesSection.success}}" userInput="You deleted the user." stepKey="seeUserDeleteMessage"/>
</actionGroup>
</actionGroups>
44 changes: 44 additions & 0 deletions app/code/Magento/User/Test/Mftf/Data/UserRoleData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,48 @@
<item>Magento_SalesRule::quote</item>
</array>
</entity>

<!-- This admin created for checking turn off "Bulk Actions" -->
<entity name="adminWithoutBulkActionRole" type="user_role">
<data key="rolename">restrictedWebsiteRole</data>
<data key="current_password">123123q</data>
<data key="gws_is_all">0</data>
<array key="gws_websites">
<item>1</item>
</array>
<array key="resource">
<item>Magento_Backend::dashboard</item>
<item>Magento_Analytics::analytics</item>
<item>Magento_Analytics::analytics_api</item>
<item>Magento_Sales::sales</item>
<item>Magento_Sales::sales_operation</item>
<item>Magento_Catalog::catalog</item>
<item>Magento_Customer::customer</item>
<item>Magento_Cart::cart</item>
<item>Magento_Backend::myaccount</item>
<item>Magento_Backend::marketing</item>
<item>Magento_Backend::content</item>
<item>Magento_Reports::report</item>
<item>Magento_Backend::stores</item>
<item>Magento_Backend::convert</item>
<item>Magento_Backend::extensions</item>
<item>Magento_Integration::extensions</item>
<item>Magento_Backend::tools</item>
<item>Magento_Backend::cache</item>
<item>Magento_Backend::main_actions</item>
<item>Magento_Backend::mass_actions</item>
<item>Magento_Backend::additional_cache_management</item>
<item>Magento_Backend::setup_wizard</item>
<item>Magento_Backup::backup</item>
<item>Magento_Indexer::index</item>
<item>Magento_Indexer::changeMode</item>
<item>Magento_User::acl</item>
<item>Magento_Logging::magento_logging</item>
<item>Magento_Logging::magento_logging_events</item>
<item>Magento_Logging::backups</item>
<item>Magento_Backend::system_other_settings</item>
<item>Magento_Backend::global_search</item>
<item>Magento_Backend::system</item>
</array>
</entity>
</entities>
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,11 @@
<element name="roleNameInFirstRow" type="text" selector=".col-role_name"/>
<element name="searchResultFirstRow" type="text" selector=".data-grid>tbody>tr"/>
</section>
<section name="AdminDeleteRoleSection">
<element name="theRole" selector="//td[contains(text(), 'Role')]" type="button"/>
<element name="role" parameterized="true" selector="//td[contains(text(), '{{args}}')]" type="button"/>
<element name="current_pass" type="button" selector="#current_password"/>
<element name="delete" selector="//button/span[contains(text(), 'Delete Role')]" type="button"/>
<element name="confirm" selector="//*[@class='action-primary action-accept']" type="button"/>
</section>
</sections>

0 comments on commit 9ddb180

Please sign in to comment.