✨ 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] ```
49 lines
1.6 KiB
PHP
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']);
|
|
}
|
|
}
|