Я пытаюсь аутентифицировать пользователя в функциональном тесте, чтобы проверить, перенаправлен ли он.
Мой контроллер:
public function preRegisterAction()
{
if ($this->getUser() instanceof User) {
return new RedirectResponse();
}
return $this->render(
'pages/pre-register.html.twig'
);
}
Мой тест:
public function setUp()
{
$this->client = static::createClient();
}
public function testPreRegisterAction()
{
$user = new User();
$user->setEmail('test@test.fr');
$user->setCreated(new \DateTime());
$user->setId(43);
$tokenStorage = $this->client->getContainer()->get('security.token_storage');
$tokenStorage->setToken(new UsernamePasswordToken($user, null, 'main', ['ROLE_USER']));
$this->client->request('GET', '/choix');
$this->assertTrue($this->client->getResponse()->isRedirection());
}
Я не знаю, нормально ли использование утверждения.Но даже использование хранилища токенов, похоже, не работает.Когда я выполняю var_dump tokenstorage в моем контроллере, я не вижу пользователя, которого я ввел в тест.