feat: refactored accommodation booking status model

This commit is contained in:
Björn Fromme
2026-08-19 11:46:52 +02:00
parent e8accbb3ed
commit 5a3957e143
42 changed files with 1190 additions and 277 deletions
@@ -5,8 +5,8 @@ declare(strict_types=1);
namespace App\Tests\Form\Model\Filter;
use App\Entity\User;
use App\Enum\Groups\AccommodationBookingOrigin;
use App\Enum\Groups\AccommodationBookingStatus;
use App\Enum\Groups\AccommodationBookingType;
use App\Form\Model\Filter\AccommodationBookingFilterDto;
use PHPUnit\Framework\TestCase;
@@ -17,9 +17,14 @@ class AccommodationBookingFilterDtoTest extends TestCase
$filter = AccommodationBookingFilterDto::defaults(true, new User('[email protected]'));
self::assertSame(
[AccommodationBookingStatus::Draft, AccommodationBookingStatus::Open, AccommodationBookingStatus::Received],
[
AccommodationBookingStatus::Draft,
AccommodationBookingStatus::Requested,
AccommodationBookingStatus::Open,
AccommodationBookingStatus::Received,
],
$filter->status,
'accepted and discarded bookings need no further work, so they stay out of the way',
'confirmed and discarded bookings need no further work, so they stay out of the way',
);
self::assertSame((new \DateTimeImmutable('today'))->format('Y-m-d'), $filter->dateFrom?->format('Y-m-d'));
self::assertNull($filter->managedBy, 'a group admin sees everybodys bookings');
@@ -83,11 +88,11 @@ class AccommodationBookingFilterDtoTest extends TestCase
$filter->q = 'meier';
$filter->dateFrom = new \DateTimeImmutable('2026-08-01');
$filter->status = [AccommodationBookingStatus::Open, AccommodationBookingStatus::Confirmed];
$filter->type = [AccommodationBookingType::Booking];
$filter->origin = [AccommodationBookingOrigin::Direct];
self::assertSame(4, $filter->activeCount());
self::assertSame('Offen, Bestätigt', $this->chipFor($filter, 'Status')?->value);
self::assertSame('Buchung', $this->chipFor($filter, 'Art')?->value);
self::assertSame('Direktbuchung', $this->chipFor($filter, 'Herkunft')?->value);
self::assertSame('01.08.2026', $this->chipFor($filter, 'Aufenthalt ab')?->value);
}