add phone number, notes, and contact person to carrier
This commit is contained in:
parent
f37868f0d0
commit
a739479e22
9 changed files with 88 additions and 6 deletions
|
|
@ -8,6 +8,9 @@ class Carrier
|
||||||
private ?int $id,
|
private ?int $id,
|
||||||
private string $email,
|
private string $email,
|
||||||
private string $companyName,
|
private string $companyName,
|
||||||
|
private string $contactPerson,
|
||||||
|
private string $phoneNumber,
|
||||||
|
private string $notes,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public function getId(): ?int
|
public function getId(): ?int
|
||||||
|
|
@ -29,4 +32,19 @@ class Carrier
|
||||||
{
|
{
|
||||||
return $this->companyName;
|
return $this->companyName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getContactPerson(): string
|
||||||
|
{
|
||||||
|
return $this->contactPerson;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPhoneNumber(): string
|
||||||
|
{
|
||||||
|
return $this->phoneNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getNotes(): string
|
||||||
|
{
|
||||||
|
return $this->notes;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,10 @@ class CarrierController
|
||||||
$body = $request->getParsedBody();
|
$body = $request->getParsedBody();
|
||||||
$dto = new CreateCarrierRequest(
|
$dto = new CreateCarrierRequest(
|
||||||
$body['email'],
|
$body['email'],
|
||||||
$body['companyName'],
|
$body['company_name'],
|
||||||
|
$body['contact_person'],
|
||||||
|
$body['phone_number'],
|
||||||
|
$body['notes'],
|
||||||
);
|
);
|
||||||
$useCase = new CreateCarrier($dto, $this->carrierRepo);
|
$useCase = new CreateCarrier($dto, $this->carrierRepo);
|
||||||
$useCase->execute();
|
$useCase->execute();
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,9 @@ class FlatFileCarrierRepository implements CarrierRepository
|
||||||
$jsonCarrier['id'],
|
$jsonCarrier['id'],
|
||||||
$jsonCarrier['email'],
|
$jsonCarrier['email'],
|
||||||
$jsonCarrier['companyName'],
|
$jsonCarrier['companyName'],
|
||||||
|
$jsonCarrier['contactPerson'],
|
||||||
|
$jsonCarrier['phoneNumber'],
|
||||||
|
$jsonCarrier['notes'],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -38,6 +41,9 @@ class FlatFileCarrierRepository implements CarrierRepository
|
||||||
'id' => $this->autoIncrementId($data),
|
'id' => $this->autoIncrementId($data),
|
||||||
'email' => $carrier->getEmail(),
|
'email' => $carrier->getEmail(),
|
||||||
'companyName' => $carrier->getCompanyName(),
|
'companyName' => $carrier->getCompanyName(),
|
||||||
|
'contactPerson' => $carrier->getContactPerson(),
|
||||||
|
'phoneNumber' => $carrier->getPhoneNumber(),
|
||||||
|
'notes' => $carrier->getNotes(),
|
||||||
];
|
];
|
||||||
$data[] = $newCarrier;
|
$data[] = $newCarrier;
|
||||||
file_put_contents(
|
file_put_contents(
|
||||||
|
|
@ -48,6 +54,9 @@ class FlatFileCarrierRepository implements CarrierRepository
|
||||||
$newCarrier['id'],
|
$newCarrier['id'],
|
||||||
$newCarrier['email'],
|
$newCarrier['email'],
|
||||||
$newCarrier['companyName'],
|
$newCarrier['companyName'],
|
||||||
|
$newCarrier['contactPerson'],
|
||||||
|
$newCarrier['phoneNumber'],
|
||||||
|
$newCarrier['notes'],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +69,10 @@ class FlatFileCarrierRepository implements CarrierRepository
|
||||||
return new Carrier(
|
return new Carrier(
|
||||||
$carrier['id'],
|
$carrier['id'],
|
||||||
$carrier['email'],
|
$carrier['email'],
|
||||||
$carrier['companyName']
|
$carrier['companyName'],
|
||||||
|
$carrier['contactPerson'],
|
||||||
|
$carrier['phoneNumber'],
|
||||||
|
$carrier['notes'],
|
||||||
);
|
);
|
||||||
}, $this->getCarrierData());
|
}, $this->getCarrierData());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,10 @@ class CreateCarrier
|
||||||
$carrier = new Carrier(
|
$carrier = new Carrier(
|
||||||
null,
|
null,
|
||||||
$this->dto->email,
|
$this->dto->email,
|
||||||
$this->dto->companyName
|
$this->dto->companyName,
|
||||||
|
$this->dto->contactPerson,
|
||||||
|
$this->dto->phoneNumber,
|
||||||
|
$this->dto->notes,
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->carrierRepo->save($carrier);
|
return $this->carrierRepo->save($carrier);
|
||||||
|
|
|
||||||
|
|
@ -7,5 +7,8 @@ class CreateCarrierRequest
|
||||||
public function __construct(
|
public function __construct(
|
||||||
public string $email,
|
public string $email,
|
||||||
public string $companyName,
|
public string $companyName,
|
||||||
|
public string $contactPerson,
|
||||||
|
public string $phoneNumber,
|
||||||
|
public string $notes,
|
||||||
) {}
|
) {}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,9 @@ $carriers = [
|
||||||
'id' => 0,
|
'id' => 0,
|
||||||
'email' => 'carrier@test.com',
|
'email' => 'carrier@test.com',
|
||||||
'companyName' => 'test Company',
|
'companyName' => 'test Company',
|
||||||
|
'contactPerson' => 'Joe Shmoe',
|
||||||
|
'phoneNumber' => '123456789',
|
||||||
|
'notes' => 'some notes',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,9 @@ class FakeCarrierRepository implements CarrierRepository
|
||||||
$id,
|
$id,
|
||||||
$carrier->getEmail(),
|
$carrier->getEmail(),
|
||||||
$carrier->getCompanyName(),
|
$carrier->getCompanyName(),
|
||||||
|
$carrier->getContactPerson(),
|
||||||
|
$carrier->getPhoneNumber(),
|
||||||
|
$carrier->getNotes(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -37,6 +40,9 @@ class FakeCarrierRepository implements CarrierRepository
|
||||||
$id,
|
$id,
|
||||||
$carrier->getEmail(),
|
$carrier->getEmail(),
|
||||||
$carrier->getCompanyName(),
|
$carrier->getCompanyName(),
|
||||||
|
$carrier->getContactPerson(),
|
||||||
|
$carrier->getPhoneNumber(),
|
||||||
|
$carrier->getNotes(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -52,6 +58,9 @@ class FakeCarrierRepository implements CarrierRepository
|
||||||
$carrier->getId(),
|
$carrier->getId(),
|
||||||
$carrier->getEmail(),
|
$carrier->getEmail(),
|
||||||
$carrier->getCompanyName(),
|
$carrier->getCompanyName(),
|
||||||
|
$carrier->getContactPerson(),
|
||||||
|
$carrier->getPhoneNumber(),
|
||||||
|
$carrier->getNotes(),
|
||||||
);
|
);
|
||||||
}, $this->existingCarriers);
|
}, $this->existingCarriers);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,24 @@ class CreateCarrierTest extends TestCase
|
||||||
{
|
{
|
||||||
$email = 'joe@shmoe.com';
|
$email = 'joe@shmoe.com';
|
||||||
$company = 'test company';
|
$company = 'test company';
|
||||||
|
$contactPerson = 'Joe Shmoe';
|
||||||
|
$phoneNumber = '132456798';
|
||||||
|
$notes = 'some notes';
|
||||||
$carrierRepo = new FakeCarrierRepository();
|
$carrierRepo = new FakeCarrierRepository();
|
||||||
$dto = new CreateCarrierRequest($email, $company);
|
$dto = new CreateCarrierRequest(
|
||||||
|
$email,
|
||||||
|
$company,
|
||||||
|
$contactPerson,
|
||||||
|
$phoneNumber,
|
||||||
|
$notes,
|
||||||
|
);
|
||||||
$useCase = new CreateCarrier($dto, $carrierRepo);
|
$useCase = new CreateCarrier($dto, $carrierRepo);
|
||||||
$response = $useCase->execute();
|
$response = $useCase->execute();
|
||||||
$foundCarrier = $carrierRepo->find($response->getId());
|
$foundCarrier = $carrierRepo->find($response->getId());
|
||||||
$this->assertEquals($email, $foundCarrier->getEmail());
|
$this->assertEquals($email, $foundCarrier->getEmail());
|
||||||
$this->assertEquals($company, $foundCarrier->getCompanyName());
|
$this->assertEquals($company, $foundCarrier->getCompanyName());
|
||||||
|
$this->assertEquals($contactPerson, $foundCarrier->getContactPerson());
|
||||||
|
$this->assertEquals($phoneNumber, $foundCarrier->getPhoneNumber());
|
||||||
|
$this->assertEquals($notes, $foundCarrier->getNotes());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,12 +11,31 @@ class GetAllCarriersTest extends TestCase
|
||||||
{
|
{
|
||||||
public function test_get_one_carrier(): void
|
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 = 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);
|
$useCase = new GetAllCarriers($repo);
|
||||||
$response = $useCase->execute();
|
$response = $useCase->execute();
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
[new Carrier(0, 'email@email.com', 'test Company')],
|
[new Carrier(
|
||||||
|
0,
|
||||||
|
$email,
|
||||||
|
$company,
|
||||||
|
$contactPerson,
|
||||||
|
$phoneNumber,
|
||||||
|
$notes,
|
||||||
|
)],
|
||||||
$response
|
$response
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue