1
0
Fork 0
get-installer-bootstrap/tests/Controller/Admin/AuthControllerTest.php
2026-05-05 10:57:14 +02:00

47 lines
1.4 KiB
PHP

<?php
namespace App\Tests\Controller\Admin;
use App\Entity\User;
use App\Tests\DatabaseWebTestCase;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
final class AuthControllerTest extends DatabaseWebTestCase
{
public function testAdminRedirectsToLogin(): void
{
$this->client->request('GET', '/admin');
self::assertResponseRedirects('/admin/login');
}
public function testAdminCanLogin(): void
{
$container = static::getContainer();
$user = (new User())->setUsername('admin');
$hash = $container->get(UserPasswordHasherInterface::class)->hashPassword($user, 'secret-password');
$user->setPasswordHash($hash);
$this->entityManager->persist($user);
$this->entityManager->flush();
$crawler = $this->client->request('GET', '/admin/login');
$form = $crawler->selectButton('Sign in')->form([
'login_form[username]' => 'admin',
'login_form[password]' => 'secret-password',
]);
$this->client->submit($form);
self::assertResponseRedirects('/admin');
}
public function testLoginUsesUtilityAdminLayout(): void
{
$this->client->request('GET', '/admin/login');
self::assertSelectorExists('body.admin-auth');
self::assertSelectorExists('.admin-card');
self::assertSelectorExists('.button-primary');
}
}