dont show bid to carriers if closed
This commit is contained in:
parent
1910581053
commit
d9581cf991
3 changed files with 22 additions and 3 deletions
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
- If bid == closed, do not show bid to carriers on future requests
|
|
||||||
- Make UpdateBid use case
|
- Make UpdateBid use case
|
||||||
- Make GetBidsOfFreightOrder use case
|
- Make GetBidsOfFreightOrder use case
|
||||||
- Dashboard:
|
- Dashboard:
|
||||||
|
|
|
||||||
|
|
@ -15,12 +15,15 @@ class GetBidForCarrier
|
||||||
/**
|
/**
|
||||||
* @throws InvalidArgumentException
|
* @throws InvalidArgumentException
|
||||||
*/
|
*/
|
||||||
public function execute(GetBidForCarrierRequest $dto): Bid
|
public function execute(GetBidForCarrierRequest $dto): ?Bid
|
||||||
{
|
{
|
||||||
$bid = $this->bidRepo->find($dto->id);
|
$bid = $this->bidRepo->find($dto->id);
|
||||||
if ($bid === null) {
|
if ($bid === null) {
|
||||||
throw new InvalidArgumentException('Bid not found!');
|
throw new InvalidArgumentException('Bid not found!');
|
||||||
}
|
}
|
||||||
|
if ($bid->isClosed() === true) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
if ($bid->getWasOpened() === false) {
|
if ($bid->getWasOpened() === false) {
|
||||||
$bid->setWasOpened(true);
|
$bid->setWasOpened(true);
|
||||||
$this->bidRepo->save($bid);
|
$this->bidRepo->save($bid);
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ class GetBidForCarrierTest extends TestCase
|
||||||
$this->expectException(InvalidArgumentException::class);
|
$this->expectException(InvalidArgumentException::class);
|
||||||
$bidId = '12345abcd';
|
$bidId = '12345abcd';
|
||||||
$dto = new GetBidForCarrierRequest($bidId);
|
$dto = new GetBidForCarrierRequest($bidId);
|
||||||
$foundBid = $this->useCase->execute($dto);
|
$this->useCase->execute($dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function test_first_view_flips_opened_flag(): void
|
public function test_first_view_flips_opened_flag(): void
|
||||||
|
|
@ -46,4 +46,21 @@ class GetBidForCarrierTest extends TestCase
|
||||||
);
|
);
|
||||||
$this->assertEquals(true, $foundBid->getWasOpened());
|
$this->assertEquals(true, $foundBid->getWasOpened());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function test_getting_closed_bid_returns_null(): void
|
||||||
|
{
|
||||||
|
$this->bidRepo->save(new Bid(
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
));
|
||||||
|
$this->assertNull($this->useCase->execute(
|
||||||
|
new GetBidForCarrierRequest(0),
|
||||||
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue