2026-09-22 12:45:08 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace Tests\Unit\Domain\Models\ValueObjects\Coupon;
|
|
|
|
|
|
|
|
|
|
use Domain\Models\ValueObjects\Coupon\CouponDiffusion;
|
2026-09-25 09:44:57 +02:00
|
|
|
use Domain\Models\ValueObjects\Period;
|
2026-09-25 11:20:51 +02:00
|
|
|
use DateTime;
|
2026-09-22 12:45:08 +02:00
|
|
|
|
|
|
|
|
covers(CouponDiffusion::class);
|
|
|
|
|
|
|
|
|
|
describe('coupon diffusion', function (): void {
|
2026-10-12 17:08:07 +02:00
|
|
|
$period = new Period(new DateTime('2026-01-01'), new DateTime('2026-02-01'));
|
2026-09-22 12:45:08 +02:00
|
|
|
|
2026-10-12 17:08:07 +02:00
|
|
|
it('creates a valid coupon diffusion with one period', function () use ($period): void {
|
2026-10-02 12:46:02 +02:00
|
|
|
// GIVEN / WHEN
|
2026-10-12 17:08:07 +02:00
|
|
|
$couponDiffusion = new CouponDiffusion($period);
|
2026-09-25 09:44:57 +02:00
|
|
|
|
|
|
|
|
// THEN
|
2026-10-12 17:08:07 +02:00
|
|
|
expect($couponDiffusion->period)->toBe($period);
|
2026-09-25 09:44:57 +02:00
|
|
|
});
|
2026-09-22 12:45:08 +02:00
|
|
|
});
|