Skip to content

Commit ec657d1

Browse files
committed
chore(GH-1280): fix PHP 8.4 compatibility issues in zmsdb tests and SlotList
- Fix writeByAvailability method calls in SlotTest to include required third parameter - Add explicit nullable types to SlotList constructor and getFreeProcesses method parameters - Resolve PHP 8.4 deprecation warnings about implicitly nullable parameters
1 parent 8a827a5 commit ec657d1

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

zmsdb/src/Zmsdb/Query/SlotList.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,11 @@ class SlotList extends Base
178178

179179
public function __construct(
180180
array $slotData = ['availability__id' => null],
181-
\DateTimeImmutable $start = null,
182-
\DateTimeImmutable $stop = null,
183-
\DateTimeInterface $now = null,
184-
\BO\Zmsentities\Availability $availability = null,
185-
\BO\Zmsentities\Scope $scope = null
181+
?\DateTimeImmutable $start = null,
182+
?\DateTimeImmutable $stop = null,
183+
?\DateTimeInterface $now = null,
184+
?\BO\Zmsentities\Availability $availability = null,
185+
?\BO\Zmsentities\Scope $scope = null
186186
) {
187187
$this->availability = $availability;
188188
$this->scope = $scope;
@@ -353,7 +353,7 @@ protected function addFreeProcessesToCalendar(
353353
*/
354354
public function getFreeProcesses(
355355
\BO\Zmsentities\Calendar $calendar,
356-
\DateTimeImmutable $freeProcessesDate = null,
356+
?\DateTimeImmutable $freeProcessesDate = null,
357357
$slotType = 'public',
358358
$slotsRequired = 1
359359
) {

zmsdb/tests/Zmsdb/SlotTest.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ public function testNoChangeIntegration()
276276
{
277277
$availability = $this->readTestAvailability();
278278
$now = (new Slot())->readLastChangedTimeByAvailability($availability);
279-
$status = (new Slot())->writeByAvailability($availability, $now);
279+
$status = (new Slot())->writeByAvailability($availability, $now, $now);
280280
$this->assertFalse($status, "Availability should not rebuild slots without change");
281281
}
282282

@@ -286,7 +286,7 @@ public function testChangedScopeIntegration()
286286
$availability->scope['preferences']['appointment']['endInDaysDefault'] = 63;
287287
$availability->scope = (new \BO\Zmsdb\Scope())->updateEntity($availability->scope->id, $availability->scope, 1);
288288
$now = (new Slot())->readLastChangedTimeByAvailability($availability);
289-
$status = (new Slot())->writeByAvailability($availability, $now);
289+
$status = (new Slot())->writeByAvailability($availability, $now, $now);
290290
//$this->debugOutdated($availability, $now, $now->modify('-1 hour'));
291291
$this->assertFalse(!$status, "Availability should rebuild slots on changed scope");
292292
}
@@ -315,21 +315,21 @@ public function testChangeOnCancel()
315315
$lastChange->format('Y-m-d H:i:s'),
316316
"readLastChangedTimeByAvailability should not return cancelled slots"
317317
);
318-
$status = (new Slot())->writeByAvailability($availability, $now);
318+
$status = (new Slot())->writeByAvailability($availability, $now, $now);
319319
$this->assertFalse(!$status, "Availability should rebuild slots if newer");
320320
}
321321

322322
public function testChangeByTimeIntegration()
323323
{
324324
$availability = $this->readTestAvailability();
325325
$lastChange = (new Slot())->readLastChangedTimeByAvailability($availability);
326-
$status = (new Slot())->writeByAvailability($availability, static::$now);
326+
$status = (new Slot())->writeByAvailability($availability, static::$now, static::$now);
327327
//$this->debugOutdated($availability, $now, $lastChange);
328328
$availability = $this->readTestAvailability();
329329
$now = (new Slot())->readLastChangedTimeByAvailability($availability);
330330
$lastChange = $now;
331331
$now = $now->modify('+1 day');
332-
$status = (new Slot())->writeByAvailability($availability, $now);
332+
$status = (new Slot())->writeByAvailability($availability, $now, $now);
333333
//$this->debugOutdated($availability, $now, $lastChange);
334334

335335
$this->assertFalse(!$status, "Availability should rebuild slots if time allows new slots");
@@ -463,7 +463,7 @@ public function testChangeOnCancelSameDay()
463463
$this->assertEquals('cancelled', $cancelledSlots[0]['status'], "Slots should be cancelled before the cancellation time");
464464

465465
// Verify we don't rebuild slots
466-
$status = (new Slot())->writeByAvailability($availability, $now);
466+
$status = (new Slot())->writeByAvailability($availability, $now, $now);
467467
$this->assertFalse($status, "Availability should not rebuild slots when Offen_ab=0 Offen_bis=0 and slots are cancelled");
468468

469469
// Verify slots remain cancelled
@@ -505,7 +505,7 @@ public function testChangeOnCancelDifferentDay()
505505
$lastChange->format('Y-m-d H:i:s'),
506506
"readLastChangedTimeByAvailability should not return cancelled slots"
507507
);
508-
$status = (new Slot())->writeByAvailability($availability, $now);
508+
$status = (new Slot())->writeByAvailability($availability, $now, $now);
509509
$this->assertFalse($status, "Availability should not rebuild slots when cancellation is not on same day as Offen_ab=0 Offen_bis=0");
510510
}
511511

0 commit comments

Comments
 (0)