38 lines
1.1 KiB
PHP
38 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Tests\Unit\Infra\Mail;
|
|
|
|
use Infra\Mail\SecurityAlertDetails;
|
|
|
|
covers(SecurityAlertDetails::class);
|
|
|
|
describe('SecurityAlertDetails DTO Unit Tests', function (): void {
|
|
it('creates empty details correctly', function (): void {
|
|
// WHEN
|
|
$details = SecurityAlertDetails::empty();
|
|
|
|
// THEN
|
|
expect($details->isActive)->toBeNull()
|
|
->and($details->description)->toBeNull();
|
|
});
|
|
|
|
it('creates details for activated status toggle', function (): void {
|
|
// WHEN
|
|
$details = SecurityAlertDetails::forStatusToggled(true);
|
|
|
|
// THEN
|
|
expect($details->isActive)->toBeTrue()
|
|
->and($details->description)->toBe('Client account activated');
|
|
});
|
|
|
|
it('creates details for deactivated status toggle', function (): void {
|
|
// WHEN
|
|
$details = SecurityAlertDetails::forStatusToggled(false);
|
|
|
|
// THEN
|
|
expect($details->isActive)->toBeFalse()
|
|
->and($details->description)->toBe('Client account suspended');
|
|
});
|
|
});
|