/** * @test */ public function it_assigns_cargo_to_route() { $trackingId = $this->bookingService->bookNewCargo('USNYC', 'DEHAM'); $routeCandidates = $this->bookingService->requestPossibleRoutesForCargo($trackingId); $this->bookingService->assignCargoToRoute($trackingId, $routeCandidates[0]); $cargo = $this->cargoRepository->get(TrackingId::fromString($trackingId)); $legs = $cargo->itinerary()->legs(); $this->assertEquals(1, count($legs)); $this->assertEquals('USNYC', $legs[0]->loadLocation()); $this->assertEquals('DEHAM', $legs[0]->unloadLocation()); }
/** * @param ResourceEvent $e * @return \CargoBackend\API\Booking\Dto\RouteCandidateDto[] */ public function onFetchAll(ResourceEvent $e) { $trackingId = $e->getRouteMatch()->getParam('tracking_id'); return $this->bookingService->requestPossibleRoutesForCargo($trackingId); }