ldc-mesbr-app/tests/Unit/Domain/Models/ValueObjects/PrintableCoupon/UnprintedReasonTest.php
2026-10-14 14:29:06 +02:00

33 lines
943 B
PHP

<?php
declare(strict_types=1);
namespace Tests\Unit\Domain\Models\ValueObjects\PrintableCoupon;
use Domain\Models\ValueObjects\PrintableCoupon\UnprintedReason;
covers(UnprintedReason::class);
describe('unprinted reason', function (): void {
$value = 'Expired date.';
it('creates a valid rejection reason', function () use ($value): void {
// GIVEN / WHEN
$reason = new UnprintedReason($value);
// THEN
expect($reason)->toBeInstanceOf(UnprintedReason::class)
->and($reason->value)->toBe($value);
});
it('rejects an empty or whitespace-only reason', function (string $invalidValue): void {
// WHEN
$action = fn (): UnprintedReason => new UnprintedReason($invalidValue);
// THEN
expect($action)->toThrow(\DomainException::class, 'Unprinted reason cannot be empty.');
})->with([
'empty' => '',
'spaces' => ' ',
]);
});