dont show bid to carriers if closed

This commit is contained in:
Yisroel Baum 2025-11-22 22:22:40 +02:00
parent 1910581053
commit d9581cf991
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
3 changed files with 22 additions and 3 deletions

View file

@ -1,7 +1,6 @@
# TODO
- If bid == closed, do not show bid to carriers on future requests
- Make UpdateBid use case
- Make GetBidsOfFreightOrder use case
- Dashboard:

View file

@ -15,12 +15,15 @@ class GetBidForCarrier
/**
* @throws InvalidArgumentException
*/
public function execute(GetBidForCarrierRequest $dto): Bid
public function execute(GetBidForCarrierRequest $dto): ?Bid
{
$bid = $this->bidRepo->find($dto->id);
if ($bid === null) {
throw new InvalidArgumentException('Bid not found!');
}
if ($bid->isClosed() === true) {
return null;
}
if ($bid->getWasOpened() === false) {
$bid->setWasOpened(true);
$this->bidRepo->save($bid);

View file

@ -25,7 +25,7 @@ class GetBidForCarrierTest extends TestCase
$this->expectException(InvalidArgumentException::class);
$bidId = '12345abcd';
$dto = new GetBidForCarrierRequest($bidId);
$foundBid = $this->useCase->execute($dto);
$this->useCase->execute($dto);
}
public function test_first_view_flips_opened_flag(): void
@ -46,4 +46,21 @@ class GetBidForCarrierTest extends TestCase
);
$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),
));
}
}