feat(event): add effective date resolution for rescheduled events and update tests

This commit is contained in:
2026-09-16 14:27:35 -03:00
parent 9aa0c1f3b9
commit f8a3296821
7 changed files with 96 additions and 25 deletions

View File

@@ -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());
}
}