servercontrol/tests/Unit/UserTest.php

51 lines
1.3 KiB
PHP

<?php
namespace App\Tests\Unit;
use App\Entity\User;
use PHPUnit\Framework\TestCase;
class UserTest extends TestCase
{
public function testUserAlwaysHasRoleUser(): void
{
$user = new User();
$user->setRoles([]);
$this->assertContains('ROLE_USER', $user->getRoles());
}
public function testAdminDetection(): void
{
$user = new User();
$user->setRoles(['ROLE_ADMIN']);
$this->assertTrue($user->isAdmin());
$this->assertTrue($user->isOperator());
}
public function testOperatorDetection(): void
{
$user = new User();
$user->setRoles(['ROLE_OPERATOR']);
$this->assertTrue($user->isOperator());
$this->assertFalse($user->isAdmin());
}
public function testUserIsActiveByDefault(): void
{
$user = new User();
$this->assertTrue($user->isActive());
}
public function testUserIdentifierIsEmail(): void
{
$user = new User();
$user->setEmail('test@example.com');
$this->assertEquals('test@example.com', $user->getUserIdentifier());
}
public function testCreatedAtSetOnConstruct(): void
{
$user = new User();
$this->assertInstanceOf(\DateTimeImmutable::class, $user->getCreatedAt());
}
}