Skip to content

Commit

Permalink
fix(ZMS-3253): try fix some unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Tom Fink authored and Tom Fink committed Nov 14, 2024
1 parent afd6d5d commit ce5d795
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 29 deletions.
56 changes: 28 additions & 28 deletions zmsentities/src/Zmsentities/Availability.php
Original file line number Diff line number Diff line change
Expand Up @@ -452,17 +452,17 @@ public function hasDateBetween(\DateTimeInterface $startTime, \DateTimeInterface
}


public function validateStartTime(\DateTimeInterface $today, \DateTimeInterface $tomorrow, \DateTimeInterface $selectedDate)
public function validateStartTime(Availability $availability, \DateTimeInterface $today, \DateTimeInterface $tomorrow, \DateTimeInterface $selectedDate)
{
$errorList = [];

$startTime = $this->getStartDateTime();
$endTime = $this->getEndDateTime();
$startTime = $availability->getStartDateTime();
$endTime = $availability->getEndDateTime();
$startHour = (int)$startTime->format('H');
$endHour = (int)$endTime->format('H');
$startMinute = (int)$startTime->format('i');
$endMinute = (int)$endTime->format('i');
$isFuture = ($this->type && $this->type === 'future');
$isFuture = ($availability->type && $availability->type === 'future');

if (!$isFuture && $selectedDate->getTimestamp() > $today->getTimestamp() && $startTime > $selectedDate->setTime(0, 0)) {
$errorList[] = [
Expand All @@ -481,11 +481,11 @@ public function validateStartTime(\DateTimeInterface $today, \DateTimeInterface
return $errorList;
}

public function validateEndTime(\DateTimeInterface $today, \DateTimeInterface $yesterday, \DateTimeInterface $selectedDate)
public function validateEndTime(Availability $availability, \DateTimeInterface $today, \DateTimeInterface $yesterday, \DateTimeInterface $selectedDate)
{
$errorList = [];
$startTime = $this->getStartDateTime();
$endTime = $this->getEndDateTime();
$startTime = $availability->getStartDateTime();
$endTime = $availability->getEndDateTime();

$startHour = (int)$startTime->format('H');
$endHour = (int)$endTime->format('H');
Expand All @@ -511,15 +511,15 @@ public function validateEndTime(\DateTimeInterface $today, \DateTimeInterface $y
return $errorList;
}

public function validateOriginEndTime(\DateTimeInterface $today, \DateTimeInterface $yesterday, \DateTimeInterface $selectedDate)
public function validateOriginEndTime(Availability $availability, \DateTimeInterface $today, \DateTimeInterface $yesterday, \DateTimeInterface $selectedDate)
{
$errorList = [];
$endTime = $this->getEndDateTime();
$endTime = $availability->getEndDateTime();
$endHour = (int) $endTime->format('H');
$endMinute = (int) $endTime->format('i');
$endDateTime = (clone $endTime)->setTime($endHour, $endMinute);
$endTimestamp = $endDateTime->getTimestamp();
$isOrigin = ($this->type && $this->type === 'origin');
$isOrigin = ($availability->type && $availability->type === 'origin');

if (!$isOrigin && $selectedDate->getTimestamp() > $today->getTimestamp() && $endTime < $selectedDate->setTime(0, 0)) {
$errorList[] = [
Expand All @@ -540,10 +540,10 @@ public function validateOriginEndTime(\DateTimeInterface $today, \DateTimeInterf
return $errorList;
}

public function validateType()
public function validateType(Availability $availability)
{
$errorList = [];
if (empty($this->type)) {
if (empty($availability->type)) {
$errorList[] = [
'type' => 'type',
'message' => 'Typ erforderlich'
Expand All @@ -552,11 +552,11 @@ public function validateType()
return $errorList;
}

public function validateSlotTime()
public function validateSlotTime(Availability $availability)
{
$errorList = [];
$startTime = $this->getStartDateTime();
$endTime = $this->getEndDateTime();
$startTime = $availability->getStartDateTime();
$endTime = $availability->getEndDateTime();
$slotTime = $this['slotTimeInMinutes'];
$startTimestamp = $startTime->getTimestamp();
$endTimestamp = $endTime->getTimestamp();
Expand All @@ -572,14 +572,14 @@ public function validateSlotTime()
return $errorList;
}

public function validateAll(\DateTimeInterface $today, \DateTimeInterface $yesterday, \DateTimeInterface $tomorrow, \DateTimeInterface $selectedDate)
public function validateAll(Availability $availability, \DateTimeInterface $today, \DateTimeInterface $yesterday, \DateTimeInterface $tomorrow, \DateTimeInterface $selectedDate)
{
$errorList = array_merge(
$this->validateStartTime($today, $tomorrow, $selectedDate),
$this->validateEndTime($today, $yesterday, selectedDate: $selectedDate),
$this->validateOriginEndTime($today, $yesterday, $selectedDate),
$this->validateType(),
$this->validateSlotTime()
$this->validateStartTime($availability, $today, $tomorrow, $selectedDate),
$this->validateEndTime($availability, $today, $yesterday, selectedDate: $selectedDate),
$this->validateOriginEndTime($availability, $today, $yesterday, $selectedDate),
$this->validateType($availability),
$this->validateSlotTime($availability)
);

return $errorList;
Expand Down Expand Up @@ -769,16 +769,16 @@ public function getTimeOverlaps(Availability $availability, \DateTimeInterface $
$processTemplate->status = 'conflict';
$appointment = $processTemplate->getFirstAppointment();
$appointment->availability = $this;
$appointment->date = $this->getStartDateTime()->getTimestamp();
$appointment->date = $availability->getStartDateTime()->getTimestamp();

$existingDateRange = $this->getStartDateTime()->format('d.m.Y') . ' - ' . $this->getEndDateTime()->format('d.m.Y');
$existingDateRange = $availability->getStartDateTime()->format('d.m.Y') . ' - ' . $availability->getEndDateTime()->format('d.m.Y');
$newDateRange = $availability->getStartDateTime()->format('d.m.Y') . ' - ' . $availability->getEndDateTime()->format('d.m.Y');

$existingTimeRange = $this->getStartDateTime()->format('H:i') . ' - ' . $this->getEndDateTime()->format('H:i');
$existingTimeRange = $availability->getStartDateTime()->format('H:i') . ' - ' . $availability->getEndDateTime()->format('H:i');
$newTimeRange = $availability->getStartDateTime()->format('H:i') . ' - ' . $availability->getEndDateTime()->format('H:i');

$isEqual = ($this->getStartDateTime()->getSecondsOfDay() == $availability->getStartDateTime()->getSecondsOfDay() &&
$this->getEndDateTime()->getSecondsOfDay() == $availability->getEndDateTime()->getSecondsOfDay());
$isEqual = ($availability->getStartDateTime()->getSecondsOfDay() == $availability->getStartDateTime()->getSecondsOfDay() &&
$availability->getEndDateTime()->getSecondsOfDay() == $availability->getEndDateTime()->getSecondsOfDay());
if ($isEqual) {
$process = clone $processTemplate;
$process->amendment = "Konflikt: Zwei Öffnungszeiten sind gleich.\n"
Expand All @@ -790,8 +790,8 @@ public function getTimeOverlaps(Availability $availability, \DateTimeInterface $
->getTimestamp();
$processList->addEntity($process);
}
elseif ($availability->getStartDateTime()->getSecondsOfDay() < $this->getEndDateTime()->getSecondsOfDay() &&
$this->getStartDateTime()->getSecondsOfDay() < $availability->getEndDateTime()->getSecondsOfDay()) {
elseif ($availability->getStartDateTime()->getSecondsOfDay() < $availability->getEndDateTime()->getSecondsOfDay() &&
$availability->getStartDateTime()->getSecondsOfDay() < $availability->getEndDateTime()->getSecondsOfDay()) {
$process = clone $processTemplate;
$process->amendment = "Konflikt: Eine neue Öffnungszeit überschneidet sich mit einer bestehenden Öffnungszeit.\n"
. "Bestehende Öffnungszeit:&thinsp;&thinsp;[$newDateRange, $newTimeRange]\n"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ public function validateInputs($startDate, $endDate){
$yesterday = (clone $today)->modify('-1 day');
$tomorrow = (clone $today)->modify('+1 day');

$errorList = $availability->validateAll($today, $yesterday, $tomorrow, $startDate);
$errorList = $availability->validateAll($availability, $today, $yesterday, $tomorrow, $startDate);

}
return $errorList;
Expand Down

0 comments on commit ce5d795

Please sign in to comment.