public function testCanBeCreatedFromTrackingNumber()
 {
     $number = ContainerTrackingNumber::fromString('test');
     $jsonNumber = JsonContainerTrackingNumber::fromNumber($number);
     $this->assertInstanceOf(JsonContainerTrackingNumber::class, $jsonNumber);
     return $jsonNumber;
 }
Exemplo n.º 2
0
 /**
  * @param HttpRequest $request
  */
 public function handle(HttpRequest $request)
 {
     if ($request->isPost() && $request->getUrl()->getFirstComponent() == 'containers') {
         return $this->writer->registerContainer();
     }
     if ($request->isGet() && $request->getUrl()->getFirstComponent() == 'containers') {
         $location = $this->reader->locateContainer(ContainerTrackingNumber::fromString($request->getUrl()->getSecondComponent()));
         $jsonLocation = JsonLocation::fromLocation($location);
         return $jsonLocation->json();
     }
 }
Exemplo n.º 3
0
 public function testHandlesGetRequestToLocateContainer()
 {
     $request = $this->getMockBuilder(HttpRequest::class)->disableOriginalConstructor()->getMock();
     $requestUrl = $this->getMockBuilder(HttpRequestUrl::class)->disableOriginalConstructor()->getMock();
     $requestUrl->method('getFirstComponent')->willReturn('containers');
     $requestUrl->method('getSecondComponent')->willReturn('the-tracking-number');
     $request->method('isGet')->willReturn(true);
     $request->method('getUrl')->willReturn($requestUrl);
     $trackingNumber = ContainerTrackingNumber::fromString('the-tracking-number');
     $location = Location::fromCoordinates(Latitude::fromFloat(10.0), Longitude::fromFloat(20.0));
     $this->reader->expects($this->once())->method('locateContainer')->with($trackingNumber)->willReturn($location);
     $this->assertEquals('{"latitude":10,"longitude":20}', $this->api->handle($request));
 }
 public function registerContainer()
 {
     return ContainerTrackingNumber::generate();
 }
 /**
  * @expectedException \bgphp15\nameless\InvalidArgumentException
  */
 public function testCannotBeCreatedFromEmptyString()
 {
     ContainerTrackingNumber::fromString('');
 }
 public function testLocationCanBeRetrieved()
 {
     $trackingNumber = ContainerTrackingNumber::generate();
     $tracker = new ContainerTrackingReader();
     $this->assertInstanceOf(Location::class, $tracker->locateContainer($trackingNumber));
 }