Add tests: CSP GET 204, events page, event detail, slug redirect, offline event, contact empty fields, offline page

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-20 21:23:21 +01:00
parent 63a11721ee
commit 056b104536
2 changed files with 172 additions and 0 deletions

View File

@@ -78,4 +78,12 @@ class CspReportControllerTest extends WebTestCase
self::assertResponseStatusCodeSame(204);
}
public function testGetRequestReturns204(): void
{
$client = static::createClient();
$client->request('GET', '/my-csp-report');
self::assertResponseStatusCodeSame(204);
}
}

View File

@@ -136,4 +136,168 @@ class HomeControllerTest extends WebTestCase
$client->request('GET', '/organisateur/'.$buyer->getId().'-'.$buyer->getSlug());
self::assertResponseStatusCodeSame(404);
}
public function testEventsPageReturnsSuccess(): void
{
$client = static::createClient();
$client->request('GET', '/evenements');
self::assertResponseIsSuccessful();
}
public function testEventsPageWithSearch(): void
{
$client = static::createClient();
$client->request('GET', '/evenements?q=brocante');
self::assertResponseIsSuccessful();
}
public function testEventDetailNotFoundReturns404(): void
{
$client = static::createClient();
$client->request('GET', '/evenement/orga/999999-test');
self::assertResponseStatusCodeSame(404);
}
public function testEventDetailReturnsSuccess(): void
{
$client = static::createClient();
$em = static::getContainer()->get(EntityManagerInterface::class);
$user = new User();
$user->setEmail('test-event-orga-'.uniqid().'@example.com');
$user->setFirstName('Orga');
$user->setLastName('Event');
$user->setPassword('hashed');
$user->setRoles(['ROLE_ORGANIZER']);
$user->setIsApproved(true);
$user->setIsVerified(true);
$user->setCompanyName('Asso Event');
$em->persist($user);
$event = new \App\Entity\Event();
$event->setAccount($user);
$event->setTitle('Test Event');
$event->setStartAt(new \DateTimeImmutable('2026-08-01 10:00'));
$event->setEndAt(new \DateTimeImmutable('2026-08-01 18:00'));
$event->setAddress('1 rue test');
$event->setZipcode('75001');
$event->setCity('Paris');
$event->setIsOnline(true);
$em->persist($event);
$em->flush();
$client->request('GET', '/evenement/'.$user->getSlug().'/'.$event->getId().'-'.$event->getSlug());
self::assertResponseIsSuccessful();
}
public function testEventDetailRedirectsOnWrongSlug(): void
{
$client = static::createClient();
$em = static::getContainer()->get(EntityManagerInterface::class);
$user = new User();
$user->setEmail('test-event-slug-'.uniqid().'@example.com');
$user->setFirstName('Slug');
$user->setLastName('Test');
$user->setPassword('hashed');
$user->setRoles(['ROLE_ORGANIZER']);
$user->setIsApproved(true);
$user->setIsVerified(true);
$user->setCompanyName('Slug Asso');
$em->persist($user);
$event = new \App\Entity\Event();
$event->setAccount($user);
$event->setTitle('Slug Event');
$event->setStartAt(new \DateTimeImmutable('2026-08-01 10:00'));
$event->setEndAt(new \DateTimeImmutable('2026-08-01 18:00'));
$event->setAddress('1 rue');
$event->setZipcode('75001');
$event->setCity('Paris');
$event->setIsOnline(true);
$em->persist($event);
$em->flush();
$client->request('GET', '/evenement/'.$user->getSlug().'/'.$event->getId().'-mauvais-slug');
self::assertResponseRedirects();
}
public function testEventDetailOfflineReturns404(): void
{
$client = static::createClient();
$em = static::getContainer()->get(EntityManagerInterface::class);
$user = new User();
$user->setEmail('test-event-offline-'.uniqid().'@example.com');
$user->setFirstName('Offline');
$user->setLastName('Test');
$user->setPassword('hashed');
$user->setRoles(['ROLE_ORGANIZER']);
$user->setIsApproved(true);
$user->setIsVerified(true);
$em->persist($user);
$event = new \App\Entity\Event();
$event->setAccount($user);
$event->setTitle('Offline Event');
$event->setStartAt(new \DateTimeImmutable('2026-08-01 10:00'));
$event->setEndAt(new \DateTimeImmutable('2026-08-01 18:00'));
$event->setAddress('1 rue');
$event->setZipcode('75001');
$event->setCity('Paris');
$event->setIsOnline(false);
$em->persist($event);
$em->flush();
$client->request('GET', '/evenement/'.$user->getSlug().'/'.$event->getId().'-'.$event->getSlug());
self::assertResponseStatusCodeSame(404);
}
public function testOfflinePageReturnsSuccess(): void
{
$client = static::createClient();
$client->request('GET', '/offline');
self::assertResponseIsSuccessful();
}
public function testEventContactEmptyFieldsRedirects(): void
{
$client = static::createClient();
$em = static::getContainer()->get(EntityManagerInterface::class);
$user = new User();
$user->setEmail('test-contact-orga-'.uniqid().'@example.com');
$user->setFirstName('Contact');
$user->setLastName('Orga');
$user->setPassword('hashed');
$user->setRoles(['ROLE_ORGANIZER']);
$user->setIsApproved(true);
$user->setIsVerified(true);
$em->persist($user);
$event = new \App\Entity\Event();
$event->setAccount($user);
$event->setTitle('Contact Event');
$event->setStartAt(new \DateTimeImmutable('2026-08-01 10:00'));
$event->setEndAt(new \DateTimeImmutable('2026-08-01 18:00'));
$event->setAddress('1 rue');
$event->setZipcode('75001');
$event->setCity('Paris');
$event->setIsOnline(true);
$em->persist($event);
$em->flush();
$client->request('POST', '/evenement/'.$event->getId().'/contact', [
'name' => '',
'firstname' => '',
'email' => '',
'message' => '',
]);
self::assertResponseRedirects();
}
}