diff --git a/src/Carrier/Carrier.php b/src/Carrier/Carrier.php index b2cbc6f..046a391 100644 --- a/src/Carrier/Carrier.php +++ b/src/Carrier/Carrier.php @@ -11,6 +11,8 @@ class Carrier private string $contactPerson, private string $phoneNumber, private string $notes, + private string $loadProfile, + private array $countriesServing, ) {} public function getId(): ?int @@ -47,4 +49,14 @@ class Carrier { return $this->notes; } + + public function getLoadProfile(): string + { + return $this->loadProfile; + } + + public function getCountriesServing(): array + { + return $this->countriesServing; + } } diff --git a/src/Carrier/UseCases/CreateCarrier.php b/src/Carrier/UseCases/CreateCarrier.php index 6a4c380..824c092 100644 --- a/src/Carrier/UseCases/CreateCarrier.php +++ b/src/Carrier/UseCases/CreateCarrier.php @@ -21,6 +21,8 @@ class CreateCarrier $this->dto->contactPerson, $this->dto->phoneNumber, $this->dto->notes, + $this->dto->loadProfile, + $this->dto->countriesServing, ); return $this->carrierRepo->save($carrier); diff --git a/src/Carrier/UseCases/CreateCarrierRequest.php b/src/Carrier/UseCases/CreateCarrierRequest.php index 049ee82..c965fe2 100644 --- a/src/Carrier/UseCases/CreateCarrierRequest.php +++ b/src/Carrier/UseCases/CreateCarrierRequest.php @@ -10,5 +10,7 @@ class CreateCarrierRequest public string $contactPerson, public string $phoneNumber, public string $notes, + public string $loadProfile, + public array $countriesServing, ) {} } diff --git a/tests/Fakes/Carrier/FakeCarrierRepository.php b/tests/Fakes/Carrier/FakeCarrierRepository.php index 9f16e60..04ebbd3 100644 --- a/tests/Fakes/Carrier/FakeCarrierRepository.php +++ b/tests/Fakes/Carrier/FakeCarrierRepository.php @@ -7,6 +7,9 @@ use FreightQuote\Carrier\CarrierRepository; class FakeCarrierRepository implements CarrierRepository { + /** + * @var Carrier[] + */ private array $existingCarriers = []; public function find(int $id): ?Carrier @@ -20,6 +23,8 @@ class FakeCarrierRepository implements CarrierRepository $carrier->getContactPerson(), $carrier->getPhoneNumber(), $carrier->getNotes(), + $carrier->getLoadProfile(), + $carrier->getCountriesServing(), ); } } @@ -43,6 +48,8 @@ class FakeCarrierRepository implements CarrierRepository $carrier->getContactPerson(), $carrier->getPhoneNumber(), $carrier->getNotes(), + $carrier->getLoadProfile(), + $carrier->getCountriesServing(), ); } @@ -61,6 +68,8 @@ class FakeCarrierRepository implements CarrierRepository $carrier->getContactPerson(), $carrier->getPhoneNumber(), $carrier->getNotes(), + $carrier->getLoadProfile(), + $carrier->getCountriesServing(), ); }, $this->existingCarriers); } diff --git a/tests/Unit/Carrier/UseCases/CreateCarrierTest.php b/tests/Unit/Carrier/UseCases/CreateCarrierTest.php index edd7f3e..8aaa4a3 100644 --- a/tests/Unit/Carrier/UseCases/CreateCarrierTest.php +++ b/tests/Unit/Carrier/UseCases/CreateCarrierTest.php @@ -16,6 +16,8 @@ class CreateCarrierTest extends TestCase $contactPerson = 'Joe Shmoe'; $phoneNumber = '132456798'; $notes = 'some notes'; + $loadProfile = 'LTL/FTL'; // Less than full trailer load and full trailer load + $countriesServing = ['USA', 'FRA', 'UK']; $carrierRepo = new FakeCarrierRepository(); $dto = new CreateCarrierRequest( $email, @@ -23,6 +25,8 @@ class CreateCarrierTest extends TestCase $contactPerson, $phoneNumber, $notes, + $loadProfile, + $countriesServing, ); $useCase = new CreateCarrier($dto, $carrierRepo); $response = $useCase->execute(); @@ -32,5 +36,7 @@ class CreateCarrierTest extends TestCase $this->assertEquals($contactPerson, $foundCarrier->getContactPerson()); $this->assertEquals($phoneNumber, $foundCarrier->getPhoneNumber()); $this->assertEquals($notes, $foundCarrier->getNotes()); + $this->assertEquals($loadProfile, $foundCarrier->getLoadProfile()); + $this->assertEquals($countriesServing, $foundCarrier->getCountriesServing()); } } diff --git a/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php b/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php index 87aaaea..632dfe0 100644 --- a/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php +++ b/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php @@ -16,6 +16,8 @@ class GetAllCarriersTest extends TestCase $contactPerson = 'joe shmoe'; $phoneNumber = '123456798'; $notes = 'some notes'; + $loadProfile = 'LTL/FTL'; + $countriesServing = ['USA', 'FRA', 'UK']; $repo = new FakeCarrierRepository(); $repo->save(new Carrier( 0, @@ -24,6 +26,8 @@ class GetAllCarriersTest extends TestCase $contactPerson, $phoneNumber, $notes, + $loadProfile, + $countriesServing, )); $useCase = new GetAllCarriers($repo); $response = $useCase->execute(); @@ -35,6 +39,8 @@ class GetAllCarriersTest extends TestCase $contactPerson, $phoneNumber, $notes, + $loadProfile, + $countriesServing, )], $response );