test create freight order
This commit is contained in:
parent
423439e897
commit
14d7ddfdd3
1 changed files with 23 additions and 14 deletions
|
|
@ -6,25 +6,34 @@ use PHPUnit\Framework\TestCase;
|
||||||
use FreightQuote\FreightOrder\UseCases\CreateFreightOrder;
|
use FreightQuote\FreightOrder\UseCases\CreateFreightOrder;
|
||||||
use FreightQuote\FreightOrder\UseCases\CreateFreightOrderRequestDTO;
|
use FreightQuote\FreightOrder\UseCases\CreateFreightOrderRequestDTO;
|
||||||
use Tests\Fakes\FreightOrder\FakeFreightOrderRepository;
|
use Tests\Fakes\FreightOrder\FakeFreightOrderRepository;
|
||||||
|
use DateTime;
|
||||||
|
|
||||||
class CreateFreightOrderTest extends TestCase
|
class CreateFreightOrderTest extends TestCase
|
||||||
{
|
{
|
||||||
private CreateFreightOrderRequestDTO $dto;
|
|
||||||
private FakeFreightOrderRepository $freightOrderRepo;
|
|
||||||
private CreateFreightOrder $useCase;
|
|
||||||
|
|
||||||
public function setUp(): void
|
|
||||||
{
|
|
||||||
$this->dto = new CreateFreightOrderRequestDTO();
|
|
||||||
$this->freightOrderRepo = new FakeFreightOrderRepository();
|
|
||||||
$this->useCase = new CreateFreightOrder($this->dto);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function test_create_freight_order(): void
|
public function test_create_freight_order(): void
|
||||||
{
|
{
|
||||||
$createdFreightOrder = $this->useCase->execute();
|
$dto = new CreateFreightOrderRequestDTO(
|
||||||
$this->assertNotNull($this->freightOrderRepo->find(
|
shipFrom: 'ny',
|
||||||
|
shipTo: 'nj',
|
||||||
|
pickupDate: new DateTime('+5 days'),
|
||||||
|
deliveryDeadline: new DateTime('+10 days'),
|
||||||
|
loadDetails: 'some details',
|
||||||
|
notes: 'some notes',
|
||||||
|
fileAttachments: ['path/to/file', 'another/path/file'],
|
||||||
|
);
|
||||||
|
$freightOrderRepo = new FakeFreightOrderRepository();
|
||||||
|
$useCase = new CreateFreightOrder($freightOrderRepo);
|
||||||
|
$createdFreightOrder = $useCase->execute($dto);
|
||||||
|
$foundFreightOrder = $freightOrderRepo->find(
|
||||||
$createdFreightOrder->getId()
|
$createdFreightOrder->getId()
|
||||||
));
|
);
|
||||||
|
$this->assertNotNull($foundFreightOrder);
|
||||||
|
$this->assertEquals($dto->shipFrom, $foundFreightOrder->getShipFrom());
|
||||||
|
$this->assertEquals($dto->shipTo, $foundFreightOrder->getShipTo());
|
||||||
|
$this->assertEquals($dto->pickupDate, $foundFreightOrder->getPickupDate());
|
||||||
|
$this->assertEquals($dto->deliveryDeadline, $foundFreightOrder->getDeliveryDeadline());
|
||||||
|
$this->assertEquals($dto->loadDetails, $foundFreightOrder->getLoadDetails());
|
||||||
|
$this->assertEquals($dto->notes, $foundFreightOrder->getNotes());
|
||||||
|
$this->assertEquals($dto->fileAttachments, $foundFreightOrder->getFileAttachments());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue