From f322a0f80eca2579c1d14aa4de9e09b8315091a8 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Mon, 17 Nov 2025 21:45:59 +0200 Subject: [PATCH] refactor create freight order to return dto --- src/FreightOrder/UseCases/CreateFreightOrder.php | 4 ++-- .../UseCases/CreateFreightOrderResponseDTO.php | 12 ++++++++++++ .../FreightOrder/UseCases/CreateFreightOrderTest.php | 8 +++++--- 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 src/FreightOrder/UseCases/CreateFreightOrderResponseDTO.php diff --git a/src/FreightOrder/UseCases/CreateFreightOrder.php b/src/FreightOrder/UseCases/CreateFreightOrder.php index c50045f..2cfed5f 100644 --- a/src/FreightOrder/UseCases/CreateFreightOrder.php +++ b/src/FreightOrder/UseCases/CreateFreightOrder.php @@ -19,14 +19,14 @@ class CreateFreightOrder public function execute( CreateFreightOrderRequestDTO $dto, - ): FreightOrder { + ): CreateFreightOrderResponseDTO { $savedFreightOrder = $this->saveFreightOrder($dto); $this->handleCarrierActions( $dto->carrierIds, $savedFreightOrder, ); - return $savedFreightOrder; + return new CreateFreightOrderResponseDTO($savedFreightOrder); } /** diff --git a/src/FreightOrder/UseCases/CreateFreightOrderResponseDTO.php b/src/FreightOrder/UseCases/CreateFreightOrderResponseDTO.php new file mode 100644 index 0000000..114b545 --- /dev/null +++ b/src/FreightOrder/UseCases/CreateFreightOrderResponseDTO.php @@ -0,0 +1,12 @@ +useCase->execute($dto); + $response = $this->useCase->execute($dto); + $createdFreightOrder = $response->freightOrder; $foundFreightOrder = $this->freightOrderRepo->find( $createdFreightOrder->getId() ); @@ -81,7 +82,8 @@ class CreateFreightOrderTest extends TestCase fileAttachments: ['path/to/file', 'another/path/file'], carrierIds: [$carrierId], ); - $createdFreightOrder = $this->useCase->execute($dto); + $response = $this->useCase->execute($dto); + $createdFreightOrder = $response->freightOrder; $foundCarrier = $this->carrierRepo->find($carrierId); $this->assertEquals( [$createdFreightOrder->getId()], @@ -113,7 +115,7 @@ class CreateFreightOrderTest extends TestCase fileAttachments: ['path/to/file', 'another/path/file'], carrierIds: [$carrierId], ); - $createdFreightOrder = $this->useCase->execute($dto); + $this->useCase->execute($dto); $this->assertEquals(1, $this->emailer->getSentEmailCount()); } }