From c72757b042aa2b2ab9e4dbf6e0b0d163e6e6b592 Mon Sep 17 00:00:00 2001 From: Clemens Krack Date: Tue, 27 Feb 2024 23:11:05 +0100 Subject: [PATCH] feat: redirect to created page after adding hydrometer --- src/Controller/AddHydrometerController.php | 5 ++--- .../CreatedHydrometerController.php | 19 +++++++++++++++++++ tests/BrewingFlowFunctionalTest.php | 5 +++-- 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 src/Controller/CreatedHydrometerController.php diff --git a/src/Controller/AddHydrometerController.php b/src/Controller/AddHydrometerController.php index 01646a7..6672f22 100644 --- a/src/Controller/AddHydrometerController.php +++ b/src/Controller/AddHydrometerController.php @@ -4,6 +4,7 @@ use App\Command\AddHydrometerCommand; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; +use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Messenger\MessageBusInterface; use Symfony\Component\Routing\Attribute\Route; @@ -23,8 +24,6 @@ public function __invoke(): Response $addHydrometerCommand = new AddHydrometerCommand($hydrometerId); $this->messageBus->dispatch($addHydrometerCommand); - return $this->render('hydrometer/new_hydrometer.html.twig', [ - 'hydrometer_id' => $hydrometerId, - ]); + return new RedirectResponse($this->generateUrl('app_created_hydrometer', ['token' => $hydrometerId->__toString()])); } } diff --git a/src/Controller/CreatedHydrometerController.php b/src/Controller/CreatedHydrometerController.php new file mode 100644 index 0000000..d97edaa --- /dev/null +++ b/src/Controller/CreatedHydrometerController.php @@ -0,0 +1,19 @@ +render('hydrometer/new_hydrometer.html.twig', [ + 'hydrometer_id' => $token, + ]); + } +} diff --git a/tests/BrewingFlowFunctionalTest.php b/tests/BrewingFlowFunctionalTest.php index 46e8883..0645e28 100644 --- a/tests/BrewingFlowFunctionalTest.php +++ b/tests/BrewingFlowFunctionalTest.php @@ -36,8 +36,9 @@ protected function getService(string $id): mixed public function testCanAddHydrometer(): Hydrometer { - $crawler = self::$client->request('POST', '/new'); - + self::$client->request('POST', '/new'); + $this->assertResponseRedirects(); + $crawler = self::$client->followRedirect(); $this->assertResponseIsSuccessful(); $this->assertSelectorTextContains('h1', 'New hydrometer added ✅'); $this->assertSelectorTextContains('.example-wrapper', 'Your hydrometer token is: ');