Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UpdateAdminUserRoleEntityTest.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\Backend\Test\Page\Adminhtml\Dashboard;
13 use Magento\User\Test\Page\Adminhtml\UserRoleEditRole;
14 use Magento\User\Test\Page\Adminhtml\UserRoleIndex;
15 use Magento\Mtf\TestCase\Injectable;
16 
33 class UpdateAdminUserRoleEntityTest extends Injectable
34 {
35  /* tags */
36  const MVP = 'no';
37  /* end tags */
38 
42  protected $rolePage;
43 
47  protected $userRoleEditRole;
48 
52  protected $adminAuthLogin;
53 
57  protected $dashboard;
58 
68  public function __inject(
69  UserRoleIndex $rolePage,
70  UserRoleEditRole $userRoleEditRole,
72  Dashboard $dashboard
73  ) {
74  $this->rolePage = $rolePage;
75  $this->userRoleEditRole = $userRoleEditRole;
76  $this->adminAuthLogin = $adminAuthLogin;
77  $this->dashboard = $dashboard;
78  }
79 
89  Role $roleInit,
90  Role $role,
91  User $user
92  ) {
93 
94  // Preconditions
95  $roleInit->persist();
96  if (!$user->hasData('user_id')) {
97  $user->persist();
98  }
99 
100  // Steps
101  $filter = ['rolename' => $roleInit->getRoleName()];
102  $this->adminAuthLogin->open();
103  $this->adminAuthLogin->getLoginBlock()->fill($user);
104  $this->adminAuthLogin->getLoginBlock()->submit();
105  $this->rolePage->open();
106  $this->rolePage->getRoleGrid()->searchAndOpen($filter);
107  $this->userRoleEditRole->getRoleFormTabs()->fill($role);
108  $this->userRoleEditRole->getPageActions()->save();
109 
110  return [
111  'user' => $role->hasData('in_role_users')
112  ? $role->getDataFieldConfig('in_role_users')['source']->getAdminUsers()[0]
113  : $user,
114  ];
115  }
116 
122  public function tearDown()
123  {
124  $this->dashboard->getAdminPanelHeader()->logOut();
125  }
126 }
testUpdateAdminUserRolesEntity(Role $roleInit, Role $role, User $user)
$user
Definition: dummy_user.php:13
__inject(UserRoleIndex $rolePage, UserRoleEditRole $userRoleEditRole, AdminAuthLogin $adminAuthLogin, Dashboard $dashboard)