Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UserLoginAfterChangingPermissionsTest.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Backend\Test\Page\Adminhtml\Dashboard;
12 use Magento\User\Test\Page\Adminhtml\UserEdit;
13 use Magento\User\Test\Page\Adminhtml\UserIndex;
14 use Magento\User\Test\Page\Adminhtml\UserRoleEditRole;
15 use Magento\User\Test\Page\Adminhtml\UserRoleIndex;
16 use Magento\Mtf\Fixture\FixtureFactory;
17 use Magento\Mtf\TestCase\Injectable;
18 
42 class UserLoginAfterChangingPermissionsTest extends Injectable
43 {
44  /* tags */
45  const MVP = 'no';
46  /* end tags */
47 
53  protected $userRoleIndex;
54 
60  protected $userRoleEditRole;
61 
67  protected $userIndexPage;
68 
74  protected $userEditPage;
75 
81  protected $dashboard;
82 
88  protected $fixtureFactory;
89 
95  public function __prepare(FixtureFactory $fixtureFactory)
96  {
97  $this->fixtureFactory = $fixtureFactory;
98  }
99 
110  public function __inject(
111  UserIndex $userIndex,
112  UserEdit $userEdit,
113  UserRoleIndex $userRoleIndex,
114  UserRoleEditRole $userRoleEditRole,
115  Dashboard $dashboard
116  ) {
117  $this->userIndexPage = $userIndex;
118  $this->userEditPage = $userEdit;
119  $this->userRoleIndex = $userRoleIndex;
120  $this->userRoleEditRole = $userRoleEditRole;
121  $this->dashboard = $dashboard;
122  }
123 
130  public function testLoginAfterChangingPermissions(
131  Role $role,
132  Role $updatedRole,
133  User $user
134  ) {
136  $role->persist();
138  $user = $this->fixtureFactory->create(
139  \Magento\User\Test\Fixture\User::class,
140  ['data' => array_merge($user->getData(), ['role_id' => ['role' => $role]])]
141  );
142  $user->persist();
143 
145  $filter = ['rolename' => $role->getRoleName()];
146  $this->userRoleIndex->open();
147  $this->userRoleIndex->getRoleGrid()->searchAndOpen($filter);
148  $this->userRoleEditRole->getRoleFormTabs()->fill($updatedRole);
149  $this->userRoleEditRole->getPageActions()->save();
150  $this->dashboard->getAdminPanelHeader()->logOut();
151  }
152 }
__inject(UserIndex $userIndex, UserEdit $userEdit, UserRoleIndex $userRoleIndex, UserRoleEditRole $userRoleEditRole, Dashboard $dashboard)
$user
Definition: dummy_user.php:13