10 use Magento\Authorization\Model\RoleFactory;
11 use Magento\Authorization\Model\RulesFactory;
14 use Magento\User\Model\ResourceModel\User\CollectionFactory as UserCollectionFactory;
15 use Magento\User\Model\UserFactory;
44 private $userCollectionFactory;
49 private $rulesFactory;
54 private $rootResource;
66 UserFactory $userFactory,
67 UserCollectionFactory $userCollectionFactory,
68 RoleFactory $roleFactory,
69 RulesFactory $rulesFactory,
73 $this->userFactory = $userFactory;
74 $this->roleFactory = $roleFactory;
75 $this->userCollectionFactory = $userCollectionFactory;
76 $this->rulesFactory = $rulesFactory;
77 $this->rootResource = $rootResource;
85 $adminUsersNumber = $this->fixtureModel->getValue(
'admin_users', 0);
86 $adminUsersStartIndex = $this->userCollectionFactory->create()->getSize();
88 if ($adminUsersStartIndex >= $adminUsersNumber) {
92 $role = $this->createAdministratorRole();
94 for (
$i = $adminUsersStartIndex;
$i <= $adminUsersNumber;
$i++) {
95 $adminUser = $this->userFactory->create();
96 $adminUser->setRoleId($role->getId())
97 ->setEmail(
'admin' .
$i .
'@example.com')
98 ->setFirstName(
'Firstname')
99 ->setLastName(
'Lastname')
100 ->setUserName(
'admin' .
$i)
101 ->setPassword(
'123123q')
112 return 'Generating admin users';
121 'admin_users' =>
'Admin Users' 130 private function createAdministratorRole()
132 $role = $this->roleFactory->create();
133 $role->setParentId(0)
139 ->setRoleName(
'Example Administrator');
143 $rule = $this->rulesFactory->create();
144 $rule->setRoleId($role->getId())
145 ->setResourceId($this->rootResource->getId())
146 ->setPrivilegies(
null)
147 ->setPermission(
'allow');
__construct(FixtureModel $fixtureModel, UserFactory $userFactory, UserCollectionFactory $userCollectionFactory, RoleFactory $roleFactory, RulesFactory $rulesFactory, RootResource $rootResource)