diff --git a/src/Carrier/Carrier.php b/src/Carrier/Carrier.php index bb1203f..b2cbc6f 100644 --- a/src/Carrier/Carrier.php +++ b/src/Carrier/Carrier.php @@ -8,6 +8,9 @@ class Carrier private ?int $id, private string $email, private string $companyName, + private string $contactPerson, + private string $phoneNumber, + private string $notes, ) {} public function getId(): ?int @@ -29,4 +32,19 @@ class Carrier { return $this->companyName; } + + public function getContactPerson(): string + { + return $this->contactPerson; + } + + public function getPhoneNumber(): string + { + return $this->phoneNumber; + } + + public function getNotes(): string + { + return $this->notes; + } } diff --git a/src/Carrier/CarrierController.php b/src/Carrier/CarrierController.php index d251e09..7a23fe1 100644 --- a/src/Carrier/CarrierController.php +++ b/src/Carrier/CarrierController.php @@ -32,7 +32,10 @@ class CarrierController $body = $request->getParsedBody(); $dto = new CreateCarrierRequest( $body['email'], - $body['companyName'], + $body['company_name'], + $body['contact_person'], + $body['phone_number'], + $body['notes'], ); $useCase = new CreateCarrier($dto, $this->carrierRepo); $useCase->execute(); diff --git a/src/Carrier/FlatFileCarrierRepository.php b/src/Carrier/FlatFileCarrierRepository.php index 8de3c85..1a18286 100644 --- a/src/Carrier/FlatFileCarrierRepository.php +++ b/src/Carrier/FlatFileCarrierRepository.php @@ -31,6 +31,9 @@ class FlatFileCarrierRepository implements CarrierRepository $jsonCarrier['id'], $jsonCarrier['email'], $jsonCarrier['companyName'], + $jsonCarrier['contactPerson'], + $jsonCarrier['phoneNumber'], + $jsonCarrier['notes'], ); } } @@ -38,6 +41,9 @@ class FlatFileCarrierRepository implements CarrierRepository 'id' => $this->autoIncrementId($data), 'email' => $carrier->getEmail(), 'companyName' => $carrier->getCompanyName(), + 'contactPerson' => $carrier->getContactPerson(), + 'phoneNumber' => $carrier->getPhoneNumber(), + 'notes' => $carrier->getNotes(), ]; $data[] = $newCarrier; file_put_contents( @@ -48,6 +54,9 @@ class FlatFileCarrierRepository implements CarrierRepository $newCarrier['id'], $newCarrier['email'], $newCarrier['companyName'], + $newCarrier['contactPerson'], + $newCarrier['phoneNumber'], + $newCarrier['notes'], ); } @@ -60,7 +69,10 @@ class FlatFileCarrierRepository implements CarrierRepository return new Carrier( $carrier['id'], $carrier['email'], - $carrier['companyName'] + $carrier['companyName'], + $carrier['contactPerson'], + $carrier['phoneNumber'], + $carrier['notes'], ); }, $this->getCarrierData()); } diff --git a/src/Carrier/UseCases/CreateCarrier.php b/src/Carrier/UseCases/CreateCarrier.php index ca9df3a..6a4c380 100644 --- a/src/Carrier/UseCases/CreateCarrier.php +++ b/src/Carrier/UseCases/CreateCarrier.php @@ -17,7 +17,10 @@ class CreateCarrier $carrier = new Carrier( null, $this->dto->email, - $this->dto->companyName + $this->dto->companyName, + $this->dto->contactPerson, + $this->dto->phoneNumber, + $this->dto->notes, ); return $this->carrierRepo->save($carrier); diff --git a/src/Carrier/UseCases/CreateCarrierRequest.php b/src/Carrier/UseCases/CreateCarrierRequest.php index 451ca73..049ee82 100644 --- a/src/Carrier/UseCases/CreateCarrierRequest.php +++ b/src/Carrier/UseCases/CreateCarrierRequest.php @@ -7,5 +7,8 @@ class CreateCarrierRequest public function __construct( public string $email, public string $companyName, + public string $contactPerson, + public string $phoneNumber, + public string $notes, ) {} } diff --git a/storage/seedDb.php b/storage/seedDb.php index cb8a73c..b889c43 100644 --- a/storage/seedDb.php +++ b/storage/seedDb.php @@ -12,6 +12,9 @@ $carriers = [ 'id' => 0, 'email' => 'carrier@test.com', 'companyName' => 'test Company', + 'contactPerson' => 'Joe Shmoe', + 'phoneNumber' => '123456789', + 'notes' => 'some notes', ], ]; diff --git a/tests/Fakes/Carrier/FakeCarrierRepository.php b/tests/Fakes/Carrier/FakeCarrierRepository.php index a257088..9f16e60 100644 --- a/tests/Fakes/Carrier/FakeCarrierRepository.php +++ b/tests/Fakes/Carrier/FakeCarrierRepository.php @@ -17,6 +17,9 @@ class FakeCarrierRepository implements CarrierRepository $id, $carrier->getEmail(), $carrier->getCompanyName(), + $carrier->getContactPerson(), + $carrier->getPhoneNumber(), + $carrier->getNotes(), ); } } @@ -37,6 +40,9 @@ class FakeCarrierRepository implements CarrierRepository $id, $carrier->getEmail(), $carrier->getCompanyName(), + $carrier->getContactPerson(), + $carrier->getPhoneNumber(), + $carrier->getNotes(), ); } @@ -52,6 +58,9 @@ class FakeCarrierRepository implements CarrierRepository $carrier->getId(), $carrier->getEmail(), $carrier->getCompanyName(), + $carrier->getContactPerson(), + $carrier->getPhoneNumber(), + $carrier->getNotes(), ); }, $this->existingCarriers); } diff --git a/tests/Unit/Carrier/UseCases/CreateCarrierTest.php b/tests/Unit/Carrier/UseCases/CreateCarrierTest.php index d71b16d..edd7f3e 100644 --- a/tests/Unit/Carrier/UseCases/CreateCarrierTest.php +++ b/tests/Unit/Carrier/UseCases/CreateCarrierTest.php @@ -13,12 +13,24 @@ class CreateCarrierTest extends TestCase { $email = 'joe@shmoe.com'; $company = 'test company'; + $contactPerson = 'Joe Shmoe'; + $phoneNumber = '132456798'; + $notes = 'some notes'; $carrierRepo = new FakeCarrierRepository(); - $dto = new CreateCarrierRequest($email, $company); + $dto = new CreateCarrierRequest( + $email, + $company, + $contactPerson, + $phoneNumber, + $notes, + ); $useCase = new CreateCarrier($dto, $carrierRepo); $response = $useCase->execute(); $foundCarrier = $carrierRepo->find($response->getId()); $this->assertEquals($email, $foundCarrier->getEmail()); $this->assertEquals($company, $foundCarrier->getCompanyName()); + $this->assertEquals($contactPerson, $foundCarrier->getContactPerson()); + $this->assertEquals($phoneNumber, $foundCarrier->getPhoneNumber()); + $this->assertEquals($notes, $foundCarrier->getNotes()); } } diff --git a/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php b/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php index ad63843..87aaaea 100644 --- a/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php +++ b/tests/Unit/Carrier/UseCases/GetAllCarriersTest.php @@ -11,12 +11,31 @@ class GetAllCarriersTest extends TestCase { public function test_get_one_carrier(): void { + $email = 'email@email.com'; + $company = 'test Company'; + $contactPerson = 'joe shmoe'; + $phoneNumber = '123456798'; + $notes = 'some notes'; $repo = new FakeCarrierRepository(); - $repo->save(new Carrier(0, 'email@email.com', 'test Company')); + $repo->save(new Carrier( + 0, + $email, + $company, + $contactPerson, + $phoneNumber, + $notes, + )); $useCase = new GetAllCarriers($repo); $response = $useCase->execute(); $this->assertEquals( - [new Carrier(0, 'email@email.com', 'test Company')], + [new Carrier( + 0, + $email, + $company, + $contactPerson, + $phoneNumber, + $notes, + )], $response ); }