/** * @param User $user * @param User $adminUser * @param string $isDuplicated * @return void */ public function test(User $user, User $adminUser, $isDuplicated) { // Prepare data if ($isDuplicated != '-') { $data = $user->getData(); $data[$isDuplicated] = $adminUser->getData($isDuplicated); $data['role_id'] = ['role' => $user->getDataFieldConfig('role_id')['source']->getRole()]; $user = $this->fixtureFactory->createByCode('user', ['data' => $data]); } // Steps $this->userIndexPage->open(); $this->userIndexPage->getPageActions()->addNew(); $this->userEditPage->getUserForm()->fill($user); $this->userEditPage->getPageActions()->save(); }
/** * Merging user data and returns custom user. * * @param User $initialUser * @param User $user * @return User */ protected function mergeUsers(User $initialUser, User $user) { $data = array_merge($initialUser->getData(), $user->getData()); if (isset($data['role_id'])) { $data['role_id'] = ['role' => $user->hasData('role_id') ? $user->getDataFieldConfig('role_id')['source']->getRole() : $initialUser->getDataFieldConfig('role_id')['source']->getRole()]; } return $this->fixtureFactory->createByCode('user', ['data' => $data]); }