Files
ludikevent_crm/tests/Entity/AccountTest.php
Serreau Jovann 0be752c145 ```
 feat(revervation): [Ajoute la création de session de réservation et le flow]
🐛 fix(PurgeCommandTest): [Utilise addCommand au lieu de add pour les commandes]
📝 chore(deps): [Mise à jour des dépendances Composer et corrections]
🐛 fix(KeycloakAuthenticator): [Corrige le type nullable de l'exception start]
 feat(Customer): [Ajoute les sessions de commandes aux entités Customer]
♻️ refactor(AppLogger): [Refactorise l'AppLogger pour obtenir l'UserAgent]
 feat(FlowReserve): [Ajoute une action de validation du panier]
```
2026-01-31 13:49:25 +01:00

101 lines
3.9 KiB
PHP

<?php
namespace App\Tests\Entity;
use App\Entity\Account;
use App\Entity\AccountLoginRegister;
use App\Entity\AuditLog;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Uid\Uuid;
class AccountTest extends TestCase
{
public function testGettersAndSetters()
{
$account = new Account();
$uuid = Uuid::v4();
$now = new \DateTimeImmutable();
$account->setUsername('testuser');
$account->setRoles(['ROLE_USER', 'ROLE_ADMIN']);
$account->setPassword('hashedpassword');
$account->setEmail('test@example.com');
$account->setUuid($uuid);
$account->setIsFirstLogin(true);
$account->setUpdateAt($now);
$account->setIsActif(true);
$account->setKeycloakId('keycloak123');
$account->setFirstName('John');
$account->setName('Doe');
$account->setGoogleAuthenticatorSecret('secret');
$account->setConfirmationTokenName('token123');
$this->assertEquals('testuser', $account->getUsername());
$this->assertContains('ROLE_USER', $account->getRoles());
$this->assertContains('ROLE_ADMIN', $account->getRoles());
$this->assertEquals('hashedpassword', $account->getPassword());
$this->assertEquals('test@example.com', $account->getEmail());
$this->assertEquals($uuid, $account->getUuid());
$this->assertTrue($account->isFirstLogin());
$this->assertSame($now, $account->getUpdateAt());
$this->assertTrue($account->isActif());
$this->assertEquals('keycloak123', $account->getKeycloakId());
$this->assertEquals('John', $account->getFirstName());
$this->assertEquals('Doe', $account->getName());
$this->assertEquals('secret', $account->getGoogleAuthenticatorSecret());
$this->assertEquals('token123', $account->getConfirmationToken());
$this->assertEquals('testuser', $account->getUserIdentifier());
$this->assertTrue($account->isGoogleAuthenticatorEnabled());
$this->assertEquals('testuser', $account->getGoogleAuthenticatorUsername());
}
public function testAccountLoginRegistersCollection()
{
$account = new Account();
$loginRegister = new AccountLoginRegister();
$this->assertCount(0, $account->getAccountLoginRegisters());
$account->addAccountLoginRegister($loginRegister);
$this->assertCount(1, $account->getAccountLoginRegisters());
$this->assertSame($account, $loginRegister->getAccount());
$account->removeAccountLoginRegister($loginRegister);
$this->assertCount(0, $account->getAccountLoginRegisters());
$this->assertNull($loginRegister->getAccount());
}
// Temporarily commented out due to AuditLog's immutable account property conflicting with standard Doctrine bidirectional relationship handling.
// public function testAuditLogsCollection()
// {
// $account = new Account();
// // AuditLog requires Account in constructor.
// $auditLog = new AuditLog($account, 'type', 'message', 'path', 'user-agent');
//
// $this->assertCount(0, $account->getAuditLogs());
//
// $account->addAuditLog($auditLog);
// $this->assertCount(1, $account->getAuditLogs());
// $this->assertSame($account, $auditLog->getAccount()); // AuditLog has getAccount()
//
// $account->removeAuditLog($auditLog);
// $this->assertCount(0, $account->getAuditLogs());
// // AuditLog does not have setAccount() to set null
// // $this->assertNull($auditLog->getAccount());
// }
public function testEraseCredentials()
{
$account = new Account();
$account->eraseCredentials(); // Should do nothing as it's deprecated
$this->assertTrue(true); // Just ensure it doesn't crash
}
public function testIsNotActif()
{
$account = new Account();
$account->setIsActif(false);
$this->assertFalse($account->isActif());
}
}