ldc-arcadia-api/tests/Unit/Infra/Mail/SecurityAlertDetailsTest.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');
});
});