buckets/tests/Security/LogoutSubscriberTest.php

34 lines
1,013 B
PHP

<?php
namespace App\Tests\Security;
use App\Security\LogoutSubscriber;
use PHPUnit\Framework\TestCase;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Http\Event\LogoutEvent;
final class LogoutSubscriberTest extends TestCase
{
public function testGetSubscribedEventsMapsLogoutEventToOnLogout(): void
{
$this->assertSame(
[LogoutEvent::class => 'onLogout'],
LogoutSubscriber::getSubscribedEvents(),
);
}
public function testOnLogoutSetsAnEmptyNoContentResponseOnTheEvent(): void
{
$event = new LogoutEvent(new Request(), null);
$subscriber = new LogoutSubscriber();
$subscriber->onLogout($event);
$response = $event->getResponse();
$this->assertInstanceOf(Response::class, $response);
$this->assertSame(Response::HTTP_NO_CONTENT, $response->getStatusCode());
$this->assertSame('', $response->getContent());
}
}