diff --git a/README.md b/README.md index 308a07e..6258b17 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # TODO - - Add date created to freight quote entity - If bid == closed, do not show bid to carriers on future requests - Make UpdateBid use case - Make GetBidsOfFreightOrder use case diff --git a/src/FreightOrder/FreightOrder.php b/src/FreightOrder/FreightOrder.php index 5b2775d..dda3a7a 100644 --- a/src/FreightOrder/FreightOrder.php +++ b/src/FreightOrder/FreightOrder.php @@ -18,6 +18,7 @@ class FreightOrder private string $loadDetails, private string $notes, private array $fileAttachments, + private DateTime $dateCreated, ) {} public function getId(): ?int @@ -64,4 +65,9 @@ class FreightOrder { return $this->fileAttachments; } + + public function getDateCreated(): DateTime + { + return $this->dateCreated; + } } diff --git a/src/FreightOrder/UseCases/CreateFreightOrder.php b/src/FreightOrder/UseCases/CreateFreightOrder.php index 4371bb6..cf78775 100644 --- a/src/FreightOrder/UseCases/CreateFreightOrder.php +++ b/src/FreightOrder/UseCases/CreateFreightOrder.php @@ -107,6 +107,7 @@ class CreateFreightOrder $dto->loadDetails, $dto->notes, $dto->fileAttachments, + $dto->dateCreated, )); } } diff --git a/src/FreightOrder/UseCases/CreateFreightOrderRequestDTO.php b/src/FreightOrder/UseCases/CreateFreightOrderRequestDTO.php index e4a1120..e658995 100644 --- a/src/FreightOrder/UseCases/CreateFreightOrderRequestDTO.php +++ b/src/FreightOrder/UseCases/CreateFreightOrderRequestDTO.php @@ -15,5 +15,6 @@ class CreateFreightOrderRequestDTO public string $notes, public array $fileAttachments, public array $carrierIds, + public DateTime $dateCreated, ) {} } diff --git a/tests/Fakes/FreightOrder/FakeFreightOrderRepository.php b/tests/Fakes/FreightOrder/FakeFreightOrderRepository.php index b18fb2c..71bff4d 100644 --- a/tests/Fakes/FreightOrder/FakeFreightOrderRepository.php +++ b/tests/Fakes/FreightOrder/FakeFreightOrderRepository.php @@ -25,6 +25,7 @@ class FakeFreightOrderRepository implements FreightOrderRepository $freightOrder->getLoadDetails(), $freightOrder->getNotes(), $freightOrder->getFileAttachments(), + $freightOrder->getDateCreated(), ); } } @@ -49,6 +50,7 @@ class FakeFreightOrderRepository implements FreightOrderRepository $freightOrder->getLoadDetails(), $freightOrder->getNotes(), $freightOrder->getFileAttachments(), + $freightOrder->getDateCreated(), ); } diff --git a/tests/Unit/FreightOrder/UseCases/CreateFreightOrderTest.php b/tests/Unit/FreightOrder/UseCases/CreateFreightOrderTest.php index a64502d..9e3e36c 100644 --- a/tests/Unit/FreightOrder/UseCases/CreateFreightOrderTest.php +++ b/tests/Unit/FreightOrder/UseCases/CreateFreightOrderTest.php @@ -37,6 +37,7 @@ class CreateFreightOrderTest extends TestCase public function test_create_freight_order(): void { + $now = new DateTime(); $dto = new CreateFreightOrderRequestDTO( shipFrom: 'ny', shipTo: 'nj', @@ -46,6 +47,7 @@ class CreateFreightOrderTest extends TestCase notes: 'some notes', fileAttachments: ['path/to/file', 'another/path/file'], carrierIds: [], + dateCreated: $now, ); $response = $this->useCase->execute($dto); $createdFreightOrder = $response->freightOrder; @@ -60,6 +62,7 @@ class CreateFreightOrderTest extends TestCase $this->assertEquals($dto->loadDetails, $foundFreightOrder->getLoadDetails()); $this->assertEquals($dto->notes, $foundFreightOrder->getNotes()); $this->assertEquals($dto->fileAttachments, $foundFreightOrder->getFileAttachments()); + $this->assertEquals($dto->dateCreated, $foundFreightOrder->getDateCreated()); } public function test_email_is_sent(): void @@ -84,6 +87,7 @@ class CreateFreightOrderTest extends TestCase notes: 'some notes', fileAttachments: ['path/to/file', 'another/path/file'], carrierIds: [$carrierId], + dateCreated: new DateTime(), ); $this->useCase->execute($dto); $this->assertEquals(1, $this->emailer->getSentEmailCount()); @@ -120,6 +124,7 @@ class CreateFreightOrderTest extends TestCase notes: 'some notes', fileAttachments: ['path/to/file', 'another/path/file'], carrierIds: [0, 1], + dateCreated: new DateTime(), ); $this->useCase->execute($dto); $this->assertEquals(2, $this->emailer->getSentEmailCount()); @@ -147,6 +152,7 @@ class CreateFreightOrderTest extends TestCase notes: 'some notes', fileAttachments: ['path/to/file', 'another/path/file'], carrierIds: [$carrierId], + dateCreated: new DateTime(), ); $response = $this->useCase->execute($dto); $bid = $response->bidsCreated[0];