Spaces:
No application file
No application file
File size: 1,619 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<?php
declare(strict_types=1);
namespace Mautic\UserBundle\Tests\Functional;
use Mautic\CoreBundle\Test\MauticMysqlTestCase;
use Mautic\UserBundle\Entity\Role;
use Mautic\UserBundle\Entity\User;
use PHPUnit\Framework\Assert;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class UserLogoutFunctionalTest extends MauticMysqlTestCase
{
public function testLogout(): void
{
$role = new Role();
$role->setName('Role');
$role->setIsAdmin(true);
$this->em->persist($role);
$user = new User();
$user->setFirstName('John');
$user->setLastName('Doe');
$user->setUsername('john.doe');
$user->setEmail('[email protected]');
$user->setRole($role);
$encoder = static::getContainer()->get('security.encoder_factory')->getEncoder($user);
$user->setPassword($encoder->encodePassword('mautic', null));
$this->em->persist($user);
$this->em->flush();
$this->em->clear();
// Login newly created non-admin user
$this->loginUser($user->getUserIdentifier());
$this->client->setServerParameter('PHP_AUTH_USER', $user->getUserIdentifier());
$this->client->setServerParameter('PHP_AUTH_PW', 'mautic');
$this->client->request(Request::METHOD_GET, '/s/logout');
$clientResponse = $this->client->getResponse();
Assert::assertSame(Response::HTTP_OK, $clientResponse->getStatusCode());
Assert::assertStringContainsString(
'login',
$clientResponse->getContent()
);
}
}
|