/** * Créé et authentifie un nouveau user * @return $this */ public function createUser() { /** @var $userManager UserManager */ $userManager = $this->client->getContainer()->get('fos_user.user_manager'); // Création d'un utilisateur /** @var User $user */ $user = $userManager->createUser(); // le random permet les exécutions successives des mêmes tests $username = $this->test->getName() . rand(); $user->setUsername($username); $user->setEmail($username . '@zigotoo.com'); $user->setPlainPassword('test'); $user->setEnabled(true); $userManager->updateUser($user); // En environnement test, on utilise l'authentification http plutot que par session, c'est plus performant $this->client->setServerParameter('PHP_AUTH_USER', $username); $this->client->setServerParameter('PHP_AUTH_PW', 'test'); $this->user = $user; return $this; }