![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-user/Test/Fixture/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\User\Test\Fixture; use Magento\Framework\DataObject; use Magento\TestFramework\Bootstrap; use Magento\TestFramework\Fixture\Data\ProcessorInterface; use Magento\TestFramework\Fixture\RevertibleDataFixtureInterface; use Magento\User\Model\UserFactory; use Magento\User\Model\ResourceModel\User as UserResource; /** * Creating a new admin user with variable role */ class User implements RevertibleDataFixtureInterface { private const DEFAULT_DATA = [ 'username' => 'adminuser%uniqid%', 'firstname' => 'AdminFirstname%uniqid%', 'lastname' => 'AdminLastname%uniqid%', 'email' => 'adminuser%uniqid%@example.com', 'password' => Bootstrap::ADMIN_PASSWORD, 'interface_locale' => 'en_US', 'is_active' => 1 ]; /** * @var UserFactory */ private $userFactory; /** * @var ProcessorInterface */ private $dataProcessor; /** * @var UserResource */ private $userResource; /** * @param UserFactory $userFactory * @param UserResource $userResource * @param ProcessorInterface $dataProcessor */ public function __construct( UserFactory $userFactory, UserResource $userResource, ProcessorInterface $dataProcessor ) { $this->userFactory = $userFactory; $this->userResource = $userResource; $this->dataProcessor = $dataProcessor; } /** * @inheritdoc */ public function apply(array $data = []): ?DataObject { $user = $this->userFactory->create(); $user->setData($this->prepareData($data)); $user->setRoleId($data['role_id'] ?? 0); $this->userResource->save($user); return $user; } /** * @inheritdoc */ public function revert(DataObject $data): void { $user = $this->userFactory->create(); $user->load($data->getData('username'), 'username'); if ($user->getId() !== null) { $this->userResource->delete($user); } } /** * Prepare admin user data * * @param array $data * @return array */ private function prepareData(array $data): array { $data = array_merge(self::DEFAULT_DATA, $data); return $this->dataProcessor->process($this, $data); } }