From 9043b93555b12084dfb50eed53f7b9aa6beba7d0 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Sat, 8 Nov 2025 22:54:26 +0200 Subject: [PATCH] add company Name to Carrier --- src/Carrier/Carrier.php | 6 ++++++ src/Carrier/UseCases/CreateCarrier.php | 6 +++++- src/Carrier/UseCases/CreateCarrierRequest.php | 1 + tests/Fakes/Carrier/FakeCarrierRepository.php | 15 ++++++++++++--- tests/Unit/Carrier/UseCases/CreateCarrierTest.php | 3 ++- .../Unit/Carrier/UseCases/GetAllCarriersTest.php | 7 +++++-- 6 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/Carrier/Carrier.php b/src/Carrier/Carrier.php index 02f8590..bb1203f 100644 --- a/src/Carrier/Carrier.php +++ b/src/Carrier/Carrier.php @@ -7,6 +7,7 @@ class Carrier public function __construct( private ?int $id, private string $email, + private string $companyName, ) {} public function getId(): ?int @@ -23,4 +24,9 @@ class Carrier { return $this->email; } + + public function getCompanyName(): string + { + return $this->companyName; + } } diff --git a/src/Carrier/UseCases/CreateCarrier.php b/src/Carrier/UseCases/CreateCarrier.php index 3c5c330..ca9df3a 100644 --- a/src/Carrier/UseCases/CreateCarrier.php +++ b/src/Carrier/UseCases/CreateCarrier.php @@ -14,7 +14,11 @@ class CreateCarrier public function execute(): Carrier { - $carrier = new Carrier(null, $this->dto->email); + $carrier = new Carrier( + null, + $this->dto->email, + $this->dto->companyName + ); return $this->carrierRepo->save($carrier); } diff --git a/src/Carrier/UseCases/CreateCarrierRequest.php b/src/Carrier/UseCases/CreateCarrierRequest.php index 5db698d..451ca73 100644 --- a/src/Carrier/UseCases/CreateCarrierRequest.php +++ b/src/Carrier/UseCases/CreateCarrierRequest.php @@ -6,5 +6,6 @@ class CreateCarrierRequest { public function __construct( public string $email, + public string $companyName, ) {} } diff --git a/tests/Fakes/Carrier/FakeCarrierRepository.php b/tests/Fakes/Carrier/FakeCarrierRepository.php index ea643d9..a257088 100644 --- a/tests/Fakes/Carrier/FakeCarrierRepository.php +++ b/tests/Fakes/Carrier/FakeCarrierRepository.php @@ -13,7 +13,11 @@ class FakeCarrierRepository implements CarrierRepository { foreach ($this->existingCarriers as $carrier) { if ($carrier->getId() === $id) { - return new Carrier($id, $carrier->getEmail()); + return new Carrier( + $id, + $carrier->getEmail(), + $carrier->getCompanyName(), + ); } } @@ -29,7 +33,11 @@ class FakeCarrierRepository implements CarrierRepository } $this->existingCarriers[$id] = $carrier; - return new Carrier($id, $carrier->getEmail()); + return new Carrier( + $id, + $carrier->getEmail(), + $carrier->getCompanyName(), + ); } private function autoIncrementId(): int @@ -42,7 +50,8 @@ class FakeCarrierRepository implements CarrierRepository return array_map(function (Carrier $carrier) { return new Carrier( $carrier->getId(), - $carrier->getEmail() + $carrier->getEmail(), + $carrier->getCompanyName(), ); }, $this->existingCarriers); } diff --git a/tests/Unit/Carrier/UseCases/CreateCarrierTest.php b/tests/Unit/Carrier/UseCases/CreateCarrierTest.php index 7122ea1..3bbffd3 100644 --- a/tests/Unit/Carrier/UseCases/CreateCarrierTest.php +++ b/tests/Unit/Carrier/UseCases/CreateCarrierTest.php @@ -12,8 +12,9 @@ class CreateCarrierTest extends TestCase public function test_carrier_is_created(): void { $email = 'joe@shmoe.com'; + $company = 'test company'; $carrierRepo = new FakeCarrierRepository(); - $dto = new CreateCarrierRequest($email); + $dto = new CreateCarrierRequest($email, $company); $useCase = new CreateCarrier($dto, $carrierRepo); $response = $useCase->execute(); $foundCarrier = $carrierRepo->find($response->getId()); diff --git a/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php b/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php index 9cf5eaf..ad63843 100644 --- a/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php +++ b/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php @@ -12,10 +12,13 @@ class GetAllCarriersTest extends TestCase public function test_get_one_carrier(): void { $repo = new FakeCarrierRepository(); - $repo->save(new Carrier(0, 'email@email.com')); + $repo->save(new Carrier(0, 'email@email.com', 'test Company')); $useCase = new GetAllCarriers($repo); $response = $useCase->execute(); - $this->assertEquals([new Carrier(0, 'email@email.com')], $response); + $this->assertEquals( + [new Carrier(0, 'email@email.com', 'test Company')], + $response + ); } public function test_get_zero_carriers(): void