feat(event): add effective date resolution for rescheduled events and update tests
This commit is contained in:
@@ -89,4 +89,21 @@ class EventModelsTest extends TestCase
|
||||
|
||||
$this->assertInstanceOf(EventDate::class, $tenant->eventDates()->getRelated());
|
||||
}
|
||||
|
||||
public function test_effective_date_follows_all_replacements_and_returns_null_when_suspended(): void
|
||||
{
|
||||
$original = new EventDate;
|
||||
$original->setRawAttributes(['id' => 1, 'rescheduled_to_event_date_id' => 2]);
|
||||
$middle = new EventDate;
|
||||
$middle->setRawAttributes(['id' => 2, 'rescheduled_to_event_date_id' => 3]);
|
||||
$latest = new EventDate;
|
||||
$latest->setRawAttributes(['id' => 3, 'date' => '2026-11-02']);
|
||||
$original->setRelation('rescheduledTo', $middle);
|
||||
$middle->setRelation('rescheduledTo', $latest);
|
||||
|
||||
$this->assertSame($latest, $original->effectiveDate());
|
||||
|
||||
$latest->suspended_at = '2026-11-01 12:00:00';
|
||||
$this->assertNull($original->effectiveDate());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user