get('doctrine.orm.entity_manager'); return $em; } protected function importFixture(TestFixture $fixture): array { return $fixture->load($this->getEntityManager()); } protected function getUserByName(string $username): User { $user = $this->getEntityManager()->getRepository(User::class)->findOneBy(['username' => $username]); if ($user === null) { throw new \InvalidArgumentException('Unknown user: ' . $username); } return $user; } protected function getUserByRole(string $role = User::ROLE_USER): User { $name = match ($role) { User::ROLE_SUPER_ADMIN => UserFixtures::USERNAME_SUPER_ADMIN, User::ROLE_ADMIN => UserFixtures::USERNAME_ADMIN, User::ROLE_TEAMLEAD => UserFixtures::USERNAME_TEAMLEAD, User::ROLE_USER => UserFixtures::USERNAME_USER, default => throw new \InvalidArgumentException('Unknown user by role: ' . $role), }; return $this->getUserByName($name); } }