Example #1
0
 /**
  * @return \Triquanta\IziTravel\DataType\MtgObjectInterface[]
  */
 public function execute()
 {
     $json = $this->requestHandler->get('/mtgobjects/batch/' . implode(',', $this->uuids), ['languages' => $this->languageCodes, 'includes' => $this->includes, 'form' => $this->form]);
     $data = json_decode($json);
     $objects = [];
     foreach ($data as $objectData) {
         $objects[] = MtgObjectBase::createFromJson(json_encode($objectData), $this->form);
     }
     return $objects;
 }
Example #2
0
 /**
  * @return \Triquanta\IziTravel\DataType\MtgObjectInterface[]
  */
 public function execute()
 {
     $json = $this->requestHandler->get('/cities/' . $this->uuid . '/children', ['languages' => $this->languageCodes, 'includes' => $this->includes, 'form' => $this->form, 'limit' => $this->limit, 'offset' => $this->offset, 'type' => $this->types]);
     $data = json_decode($json);
     $objects = [];
     foreach ($data as $objectData) {
         $objects[] = MtgObjectBase::createFromJson(json_encode($objectData), $this->form);
     }
     return $objects;
 }
Example #3
0
 /**
  * @return \Triquanta\IziTravel\DataType\MtgObjectInterface[]|\Triquanta\IziTravel\DataType\CityInterface[]|\Triquanta\IziTravel\DataType\CountryInterface[]
  */
 public function execute()
 {
     $json = $this->requestHandler->get('/mtg/objects/search/', ['languages' => $this->languageCodes, 'includes' => $this->includes, 'form' => $this->form, 'sort_by' => $this->sort, 'type' => $this->types, 'query' => $this->query, 'limit' => $this->limit, 'offset' => $this->offset, 'region' => $this->region]);
     $data = json_decode($json);
     $objects = [];
     foreach ($data as $objectData) {
         if ($objectData->type === 'city') {
             $objects[] = CityBase::createFromJson(json_encode($objectData), $this->form);
         } elseif ($objectData->type === 'country') {
             $objects[] = CountryBase::createFromJson(json_encode($objectData), $this->form);
         } else {
             $objects[] = MtgObjectBase::createFromJson(json_encode($objectData), $this->form);
         }
     }
     return $objects;
 }
Example #4
0
 /**
  * @covers ::createFromJson
  * @covers ::createFromData
  * @covers \Triquanta\IziTravel\DataType\MtgObjectBase::createBaseFromData
  * @covers ::getClassMap
  */
 public function testCreateFromJson()
 {
     // Story navigation.
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\FullStoryNavigationInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('story_navigation_full_include_all'), MultipleFormInterface::FORM_FULL));
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\CompactStoryNavigationInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('story_navigation_compact_include_all'), MultipleFormInterface::FORM_COMPACT));
     // Tourist attraction.
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\FullTouristAttractionInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('tourist_attraction_full_include_all'), MultipleFormInterface::FORM_FULL));
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\CompactTouristAttractionInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('tourist_attraction_compact_include_all'), MultipleFormInterface::FORM_COMPACT));
     // Museum.
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\FullMuseumInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('museum_full_include_all'), MultipleFormInterface::FORM_FULL));
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\CompactMuseumInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('museum_compact_include_all'), MultipleFormInterface::FORM_COMPACT));
     // Tour.
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\FullTourInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('tour_full_include_all'), MultipleFormInterface::FORM_FULL));
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\CompactTourInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('tour_compact_include_all'), MultipleFormInterface::FORM_COMPACT));
     // Exhibit.
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\FullExhibitInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('exhibit_full_include_all'), MultipleFormInterface::FORM_FULL));
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\CompactExhibitInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('exhibit_compact_include_all'), MultipleFormInterface::FORM_COMPACT));
     // Collection.
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\FullCollectionInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('collection_full_include_all'), MultipleFormInterface::FORM_FULL));
     $this->assertInstanceOf('\\Triquanta\\IziTravel\\DataType\\CompactCollectionInterface', MtgObjectBase::createFromJson(TestHelper::getJsonResponse('collection_compact_include_all'), MultipleFormInterface::FORM_COMPACT));
 }
Example #5
0
 /**
  * @return \Triquanta\IziTravel\DataType\MtgObjectInterface
  */
 public function execute()
 {
     $json = $this->requestHandler->get('/mtgobjects/' . $this->uuid, ['languages' => $this->languageCodes, 'includes' => $this->includes, 'form' => $this->form]);
     $data = json_decode($json);
     return MtgObjectBase::createFromJson(json_encode(reset($data)), $this->form);
 }