Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CreateAdminUserEntityTest.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\User\Test\Page\Adminhtml\UserEdit;
11 use Magento\User\Test\Page\Adminhtml\UserIndex;
12 use Magento\Mtf\Fixture\FixtureFactory;
13 use Magento\Mtf\TestCase\Injectable;
14 
29 class CreateAdminUserEntityTest extends Injectable
30 {
31  /* tags */
32  const MVP = 'no';
33  const TEST_TYPE = 'extended_acceptance_test';
34  const STABLE = 'no';
35  /* end tags */
36 
42  protected $userIndexPage;
43 
49  protected $userEditPage;
50 
56  protected $fixtureFactory;
57 
64  public function __prepare(FixtureFactory $fixtureFactory)
65  {
66  $this->fixtureFactory = $fixtureFactory;
67  $adminUser = $fixtureFactory->createByCode('user', ['dataset' => 'custom_admin']);
68  $adminUser->persist();
69 
70  return ['adminUser' => $adminUser];
71  }
72 
80  public function __inject(
81  UserIndex $userIndex,
82  UserEdit $userEdit
83  ) {
84  $this->userIndexPage = $userIndex;
85  $this->userEditPage = $userEdit;
86  }
87 
94  public function test(User $user, User $adminUser, $isDuplicated = null)
95  {
96  // Prepare data
97  if ($isDuplicated !== null) {
98  $data = $user->getData();
99  $data[$isDuplicated] = $adminUser->getData($isDuplicated);
100  $data['role_id'] = ['role' => $user->getDataFieldConfig('role_id')['source']->getRole()];
101  $user = $this->fixtureFactory->createByCode('user', ['data' => $data]);
102  }
103 
104  // Steps
105  $this->userIndexPage->open();
106  $this->userIndexPage->getPageActions()->addNew();
107  $this->userEditPage->getUserForm()->fill($user);
108  $this->userEditPage->getPageActions()->save();
109 
110  return ['customAdmin' => $user];
111  }
112 }
__inject(UserIndex $userIndex, UserEdit $userEdit)
$user
Definition: dummy_user.php:13
test(User $user, User $adminUser, $isDuplicated=null)