Тест истечения подписки проходит в полдень и падает около полуночи
$subscription = Subscription::factory()->create(['paid_until' => today()]);
$this->assertTrue($subscription->isActive()); // внутри now()->lte(paid_until->endOfDay())
Тест иногда падает в CI, запущенном около полуночи. Как сделать тест детерминированным?
- Зафиксировать время через travelTo
- Не запускать тесты с 23:00 до 01:00
- Использовать date() вместо now()
- Добавить к paid_until запас в неделю
