**Tests & Nullable Fixes:** Added tests to ensure no crashes when nullable Livewire properties are explicitly set to null. Updated several Livewire components to handle nullable properties gracefully. 🚀

This commit is contained in:
BT
2026-05-02 22:27:06 +01:00
parent 172217d388
commit b3a688cf2b
12 changed files with 154 additions and 30 deletions
@@ -53,3 +53,33 @@ it('mounts courses.create-edit-events for existing event', function () {
'event' => $this->event,
])->assertStatus(200);
});
it('does not crash with PropertyNotFoundException when fromDate is set to null', function () {
actingAsUser();
Livewire::test('courses.create-edit-events', ['course' => $this->course])
->set('fromDate', null)
->assertStatus(200)
->assertSet('fromDate', null);
});
it('does not crash when toDate is set to null', function () {
actingAsUser();
Livewire::test('courses.create-edit-events', ['course' => $this->course])
->set('toDate', null)
->assertStatus(200)
->assertSet('toDate', null);
});
it('does not crash when fromTime is set to null', function () {
actingAsUser();
Livewire::test('courses.create-edit-events', ['course' => $this->course])
->set('fromTime', null)
->assertStatus(200);
});
it('does not crash when toTime is set to null', function () {
actingAsUser();
Livewire::test('courses.create-edit-events', ['course' => $this->course])
->set('toTime', null)
->assertStatus(200);
});
@@ -46,3 +46,30 @@ it('mounts meetups.create-edit-events for existing event', function () {
'event' => $this->event,
])->assertStatus(200);
});
it('does not crash with PropertyNotFoundException when startDate is set to null in series mode', function () {
actingAsUser();
Livewire::test('meetups.create-edit-events', ['meetup' => $this->meetup])
->set('seriesMode', true)
->set('endDate', '2026-10-27')
->set('startDate', null)
->assertStatus(200)
->assertSet('startDate', null);
});
it('does not crash when endDate is set to null in series mode', function () {
actingAsUser();
Livewire::test('meetups.create-edit-events', ['meetup' => $this->meetup])
->set('seriesMode', true)
->set('endDate', null)
->assertStatus(200)
->assertSet('endDate', null);
});
it('does not crash when startTime is set to null', function () {
actingAsUser();
Livewire::test('meetups.create-edit-events', ['meetup' => $this->meetup])
->set('startTime', null)
->assertStatus(200)
->assertSet('startTime', null);
});