ebs/tests/Unit/Security/Voter/ServiceRequest/ServiceRequestVoterTest.php
2023-12-21 08:49:38 +01:00

38 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Tests\Unit\Security\Voter\ServiceRequest;
use App\Entity\ServiceRequest;
use App\Entity\User;
use App\Security\Voter\ServiceRequest\ServiceRequestVoter;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Symfony\Component\Security\Core\Authentication\Token\NullToken;
use Symfony\Component\Security\Core\Authorization\Voter\VoterInterface;
/**
* @see ServiceRequestVoter
*/
final class ServiceRequestVoterTest extends KernelTestCase
{
private function createServiceRequest(): ServiceRequest
{
$owner = new User();
$recipient = new User();
return (new ServiceRequest())
->setOwner($owner)
->setRecipient($recipient);
}
public function testVoteRequestServiceVoterUserNotLoggedAccessDenied(): void
{
$voter = new ServiceRequestVoter();
$token = new NullToken(); // act as if the user was not logged
$subject = $this->createServiceRequest();
$attribute = ServiceRequestVoter::VIEW;
self::assertSame(VoterInterface::ACCESS_DENIED, $voter->vote($token, $subject, [$attribute]));
}
}