Files
ludikevent_crm/tests/Entity/AuditLogTest.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

49 lines
1.6 KiB
PHP

<?php
namespace App\Tests\Entity;
use App\Entity\Account;
use App\Entity\AuditLog;
use PHPUnit\Framework\TestCase;
class AuditLogTest extends TestCase
{
public function testConstructorAndGetters()
{
$account = new Account();
$account->setEmail('test@example.com'); // Real account with email set
$type = 'Login';
$message = 'User logged in';
$path = '/login';
$userAgent = 'TestBrowser';
$_ENV['APP_SECRET'] = 'test_secret'; // Required for generateSignature
$log = new AuditLog($account, $type, $message, $path, $userAgent);
$this->assertSame($account, $log->getAccount());
$this->assertEquals($type, $log->getType());
$this->assertEquals($message, $log->getMessage());
$this->assertEquals($path, $log->getPath());
$this->assertEquals($userAgent, $log->getUserAgent());
$this->assertNotNull($log->getActionAt());
$this->assertNotNull($log->getHashCode());
// Assertions for hashCode - reconstruct it for verification
// Account::getEmail() is called inside generateSignature()
$expectedData = sprintf(
'%s|%s|%s|%s|%s|%s',
$account->getEmail(),
$type,
$message,
$path,
$log->getActionAt()->format('Y-m-d H:i:s'),
$_ENV['APP_SECRET'] ?? 'default_secret'
);
$expectedHash = hash('sha256', $expectedData);
$this->assertEquals($expectedHash, $log->getHashCode());
// Reset APP_SECRET
unset($_ENV['APP_SECRET']);
}
}