chore: adopt namespace pattern for accommodation booking controllers

This commit is contained in:
Björn Fromme
2026-08-19 17:07:57 +02:00
parent e105c611be
commit d5f9f4ef10
25 changed files with 137 additions and 138 deletions
@@ -2,9 +2,9 @@
declare(strict_types=1);
namespace App\Tests\Controller\Accommodation;
namespace App\Tests\Controller\Groups\Booking;
use App\Controller\Groups\IndexController;
use App\Controller\Groups\Booking\IndexController;
use App\Service\AccommodationBookingService;
use App\Service\AccommodationSessionManager;
use PHPUnit\Framework\TestCase;
@@ -2,14 +2,14 @@
declare(strict_types=1);
namespace App\Tests\Controller\Groups;
namespace App\Tests\Controller\Groups\Booking;
use App\BpnConnect\ContingentsClient;
use App\BpnConnect\Model\ContingentCalendarEntry;
use App\BpnConnect\Model\ContingentCalendarMeta;
use App\BpnConnect\Model\ContingentCalendarResponse;
use App\BpnConnect\Model\ContingentStatus;
use App\Controller\Groups\Step1Controller;
use App\Controller\Groups\Booking\Step1Controller;
use App\Entity\Groups\AccommodationPrice;
use App\Repository\Groups\AccommodationPriceRepository;
use App\Service\AccommodationBookingService;
@@ -2,10 +2,10 @@
declare(strict_types=1);
namespace App\Tests\Controller\Accommodation;
namespace App\Tests\Controller\Groups\Booking;
use App\BpnConnect\ContingentsClient;
use App\Controller\Groups\Step1Controller;
use App\Controller\Groups\Booking\Step1Controller;
use App\Entity\Groups\Accommodation;
use App\Form\Model\AccommodationBookingDto;
use App\Repository\Groups\AccommodationPriceRepository;
@@ -2,9 +2,9 @@
declare(strict_types=1);
namespace App\Tests\Controller\Accommodation;
namespace App\Tests\Controller\Groups\Booking;
use App\Controller\Groups\Step2Controller;
use App\Controller\Groups\Booking\Step2Controller;
use App\Entity\Groups\Accommodation;
use App\Form\Model\AccommodationBookingDto;
use App\Model\InquiryStatus;
@@ -2,9 +2,9 @@
declare(strict_types=1);
namespace App\Tests\Controller\Accommodation;
namespace App\Tests\Controller\Groups\Booking;
use App\Controller\Groups\Step3Controller;
use App\Controller\Groups\Booking\Step3Controller;
use App\Entity\Groups\Accommodation;
use App\Entity\Groups\AdditionalService;
use App\Entity\Groups\BoardService;
@@ -2,9 +2,9 @@
declare(strict_types=1);
namespace App\Tests\Controller\Groups;
namespace App\Tests\Controller\Groups\Booking;
use App\Controller\Groups\Step4Controller;
use App\Controller\Groups\Booking\Step4Controller;
use App\Entity\Groups\Accommodation;
use App\Entity\Groups\AccommodationBooking;
use App\Enum\Groups\AccommodationBookingOrigin;
@@ -192,7 +192,7 @@ class Step4ControllerTest extends TestCase
$response = $controller->confirmInquiry($request);
self::assertSame(200, $response->getStatusCode());
self::assertSame('groups/booking/_step4_inquiry_confirmation_modal.html.twig', $controller->renderedView);
self::assertSame('groups/booking/modal_inquiry_confirmation.html.twig', $controller->renderedView);
}
public function testConfirmInquiryRedirectsToStep3WhenNotYetReached(): void
@@ -251,7 +251,7 @@ class Step4ControllerTest extends TestCase
$response = $controller->confirm($request);
self::assertSame(200, $response->getStatusCode());
self::assertSame('groups/booking/_step4_booking_confirmation_modal.html.twig', $controller->renderedView);
self::assertSame('groups/booking/modal_booking_confirmation.html.twig', $controller->renderedView);
self::assertSame($confirmationForm, $controller->renderedParameters['confirmationForm']);
self::assertSame($dto, $sessionManager->getDto($request));
}
@@ -335,7 +335,7 @@ class Step4ControllerTest extends TestCase
self::assertSame(200, $response->getStatusCode());
self::assertFalse($response->headers->has('HX-Redirect'));
self::assertSame('groups/booking/_step4_booking_confirmation_modal.html.twig', $controller->renderedView);
self::assertSame('groups/booking/modal_booking_confirmation.html.twig', $controller->renderedView);
self::assertNotNull($sessionManager->getDto($request));
}
}
@@ -2,9 +2,9 @@
declare(strict_types=1);
namespace App\Tests\Controller\Groups;
namespace App\Tests\Controller\Groups\Offer;
use App\Controller\Groups\OfferController;
use App\Controller\Groups\Offer\IndexController;
use App\Entity\Groups\Accommodation;
use App\Entity\Groups\AccommodationBooking;
use App\Enum\Groups\AccommodationBookingStatus;
@@ -22,7 +22,7 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
class OfferControllerTest extends TestCase
class IndexControllerTest extends TestCase
{
public function testAccessAuthorizesSessionAndRedirectsToView(): void
{
@@ -46,7 +46,7 @@ class OfferControllerTest extends TestCase
$response = $controller->access($booking->getUuid(), Request::create('/groups/booking/offer/'.$booking->getUuid()));
self::assertInstanceOf(RedirectResponse::class, $response);
self::assertSame('/app_groups_booking_offer_view?uuid='.$booking->getUuid(), $response->getTargetUrl());
self::assertSame('/app_groups_offer_view?uuid='.$booking->getUuid(), $response->getTargetUrl());
}
public function testAccessRendersUnavailableForInvalidLink(): void
@@ -70,7 +70,7 @@ class OfferControllerTest extends TestCase
$response = $controller->access($booking->getUuid(), Request::create('/groups/booking/offer/'.$booking->getUuid()));
self::assertSame(Response::HTTP_OK, $response->getStatusCode());
self::assertSame('groups/booking/offer_unavailable.html.twig', $controller->renderedView);
self::assertSame('groups/offer/unavailable.html.twig', $controller->renderedView);
}
public function testAccessRendersUnavailableForUnknownUuid(): void
@@ -91,7 +91,7 @@ class OfferControllerTest extends TestCase
$response = $controller->access('unknown-uuid', Request::create('/groups/booking/offer/unknown-uuid'));
self::assertSame(Response::HTTP_OK, $response->getStatusCode());
self::assertSame('groups/booking/offer_unavailable.html.twig', $controller->renderedView);
self::assertSame('groups/offer/unavailable.html.twig', $controller->renderedView);
}
/**
@@ -119,7 +119,7 @@ class OfferControllerTest extends TestCase
$response = $controller->access($booking->getUuid(), Request::create('/groups/booking/offer/'.$booking->getUuid()));
self::assertSame(Response::HTTP_OK, $response->getStatusCode());
self::assertSame('groups/booking/offer_unavailable.html.twig', $controller->renderedView);
self::assertSame('groups/offer/unavailable.html.twig', $controller->renderedView);
}
/**
@@ -167,7 +167,7 @@ class OfferControllerTest extends TestCase
$response = $controller->view($booking->getUuid(), $request);
self::assertSame(Response::HTTP_OK, $response->getStatusCode());
self::assertSame('groups/booking/offer_unavailable.html.twig', $controller->renderedView);
self::assertSame('groups/offer/unavailable.html.twig', $controller->renderedView);
}
public function testViewRendersOfferWhenSessionAuthorized(): void
@@ -197,7 +197,7 @@ class OfferControllerTest extends TestCase
self::assertSame(Response::HTTP_OK, $response->getStatusCode());
self::assertSame('<html>offer</html>', $response->getContent());
self::assertSame('groups/booking/offer.html.twig', $controller->renderedView);
self::assertSame('groups/offer/view.html.twig', $controller->renderedView);
self::assertSame($booking, $controller->renderedParameters['booking']);
self::assertSame(['total' => 1000], $controller->renderedParameters['priceBreakdown']);
self::assertSame($booking->getAccommodation(), $controller->renderedParameters['ctx']->accommodation);
@@ -223,7 +223,7 @@ class OfferControllerTest extends TestCase
$response = $controller->view($booking->getUuid(), Request::create('/groups/booking/offer/'.$booking->getUuid().'/view'));
self::assertSame(Response::HTTP_OK, $response->getStatusCode());
self::assertSame('groups/booking/offer_unavailable.html.twig', $controller->renderedView);
self::assertSame('groups/offer/unavailable.html.twig', $controller->renderedView);
}
public function testConfirmGetRendersModalWithFreshForm(): void
@@ -253,7 +253,7 @@ class OfferControllerTest extends TestCase
$response = $controller->confirm($booking->getUuid(), Request::create('/groups/booking/offer/'.$booking->getUuid().'/confirm'));
self::assertSame(Response::HTTP_OK, $response->getStatusCode());
self::assertSame('groups/booking/_offer_accept_confirmation_modal.html.twig', $controller->renderedView);
self::assertSame('groups/offer/modal_accept_confirmation.html.twig', $controller->renderedView);
self::assertSame($booking, $controller->renderedParameters['booking']);
self::assertSame($confirmationForm, $controller->renderedParameters['confirmationForm']);
@@ -294,7 +294,7 @@ class OfferControllerTest extends TestCase
$response = $controller->confirm($booking->getUuid(), $request);
self::assertInstanceOf(RedirectResponse::class, $response);
self::assertSame('/app_groups_booking_offer_view?uuid='.$booking->getUuid(), $response->getTargetUrl());
self::assertSame('/app_groups_offer_view?uuid='.$booking->getUuid(), $response->getTargetUrl());
self::assertSame([['type' => 'success', 'message' => 'Deine Buchung ist bei uns eingegangen. Sobald sie geprüft ist, erhältst du eine Bestätigung per E-Mail.']], $controller->flashes);
}
@@ -365,7 +365,7 @@ class OfferControllerTest extends TestCase
self::assertSame(Response::HTTP_OK, $response->getStatusCode());
self::assertFalse($response->headers->has('HX-Redirect'));
self::assertSame('groups/booking/_offer_accept_confirmation_modal.html.twig', $controller->renderedView);
self::assertSame('groups/offer/modal_accept_confirmation.html.twig', $controller->renderedView);
}
public function testConfirmRedirectsWhenAlreadyAccepted(): void
@@ -434,7 +434,7 @@ class OfferControllerTest extends TestCase
}
}
final class TestableOfferController extends OfferController
final class TestableOfferController extends IndexController
{
public ?string $renderedView = null;
@@ -494,7 +494,7 @@ final class TestableOfferController extends OfferController
$this->renderedView = $view;
$this->renderedParameters = $parameters;
if ('groups/booking/offer.html.twig' === $view) {
if ('groups/offer/view.html.twig' === $view) {
$content = null !== $parameters['booking']->getAcceptedAt() ? '<html>confirmed</html>' : '<html>offer</html>';
} else {
$content = '<html>unavailable</html>';