Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
LockAdminUserWhenCreatingNewUserTest.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\Mtf\TestCase\Injectable;
12 use Magento\User\Test\Page\Adminhtml\UserEdit;
13 use Magento\User\Test\Page\Adminhtml\UserIndex;
14 
32 class LockAdminUserWhenCreatingNewUserTest extends Injectable
33 {
34  /* tags */
35  const MVP = 'yes';
36  const SEVERITY = 'S2';
37  /* end tags */
38 
44  protected $userIndexPage;
45 
51  protected $userEditPage;
52 
58  protected $configData;
59 
63  protected $adminAuthLogin;
64 
71  public function __inject(
72  UserIndex $userIndex,
73  UserEdit $userEdit,
75  ) {
76  $this->userIndexPage = $userIndex;
77  $this->userEditPage = $userEdit;
78  $this->adminAuthLogin = $adminAuthLogin;
79  }
80 
90  public function test(
91  $attempts,
92  User $customAdmin,
93  User $user,
95  ) {
96  $this->configData = $configData;
97 
98  // Preconditions
99  $this->objectManager->create(
100  \Magento\Config\Test\TestStep\SetupConfigurationStep::class,
101  ['configData' => $this->configData]
102  )->run();
103  $customAdmin->persist();
104 
105  // Steps
106  $this->adminAuthLogin->open();
107  $this->adminAuthLogin->getLoginBlock()->fill($customAdmin);
108  $this->adminAuthLogin->getLoginBlock()->submit();
109  $this->userIndexPage->open();
110  $this->userIndexPage->getPageActions()->addNew();
111  for ($i = 0; $i < $attempts; $i++) {
112  $this->userEditPage->getUserForm()->fill($user);
113  $this->userEditPage->getPageActions()->save();
114  }
115 
116  // Reload
117  $this->adminAuthLogin->open();
118  $this->adminAuthLogin->getLoginBlock()->fill($customAdmin);
119  $this->adminAuthLogin->getLoginBlock()->submit();
120  }
121 
127  public function tearDown()
128  {
129  $this->objectManager->create(
130  \Magento\Config\Test\TestStep\SetupConfigurationStep::class,
131  ['configData' => $this->configData, 'rollback' => true]
132  )->run();
133  }
134 }
$user
Definition: dummy_user.php:13
$i
Definition: gallery.phtml:31
__inject(UserIndex $userIndex, UserEdit $userEdit, AdminAuthLogin $adminAuthLogin)