/** * @param $items */ private function setReleases($items) { foreach ($items as $item) { if ($this->type == Type::movie()) { $this->releases[] = new Movie($item, $this->id, $this->token, $this->client); } if ($this->type == Type::show()) { $this->releases[] = new Show($item, $this->id, $this->token, $this->client); } } }
public function testSearchMovieWithToken() { $client = mock_client(200, '[ { "type": "movie", "score": 26.019499, "movie": { "title": "Batman Begins", "overview": "Driven by tragedy, billionaire Bruce Wayne dedicates his life to uncovering and defeating the corruption that plagues his home, Gotham City. Unable to work within the system, he instead creates a new identity, a symbol of fear for the criminal underworld - The Batman.", "year": 2005, "images": { "poster": { "full": "https://walter.trakt.us/images/movies/000/000/001/posters/original/9634ffd477.jpg?1406080393", "medium": "https://walter.trakt.us/images/movies/000/000/001/posters/medium/9634ffd477.jpg?1406080393", "thumb": "https://walter.trakt.us/images/movies/000/000/001/posters/thumb/9634ffd477.jpg?1406080393" }, "fanart": { "full": "https://walter.trakt.us/images/movies/000/000/001/fanarts/original/7da8cfbe9e.jpg?1406080393", "medium": "https://walter.trakt.us/images/movies/000/000/001/fanarts/medium/7da8cfbe9e.jpg?1406080393", "thumb": "https://walter.trakt.us/images/movies/000/000/001/fanarts/thumb/7da8cfbe9e.jpg?1406080393" } }, "ids": { "trakt": 1, "slug": "batman-begins-2005", "imdb": "tt0372784", "tmdb": 272 } } } ]'); $auth = mock_auth(); $trakt = new Trakt($auth, $client); $search = $trakt->search->byText("Batman", Type::movie(), 2011, get_token()); $this->assertInstanceOf(Collection::class, $search); $this->assertInstanceOf(Movie::class, $search->first()); }
/** * @param $json */ private function getMedia($json) { if (property_exists($json, "type")) { if ($this instanceof Movie) { $this->type = Type::movie(); return $json->movie; } if ($this instanceof Show) { $this->type = Type::show(); return $json->show; } if ($this instanceof Person) { $this->type = Type::person(); return $json->person; } } return $this->json; }
/** * @param ResponseInterface $response * @param ClientInterface $client * @return Calendar */ public function handle(ResponseInterface $response, ClientInterface $client) { $json = $this->getJson($response); return new Calendar($json, Type::movie(), $this->getClientId(), $this->getToken(), $client); }
/** * @param $item * @return bool */ protected function isMovie($item) { return $item->type == Type::movie(); }
public function testParseMultipleReleaseDates() { $json = '{ "2014-08-01": [ { "movie": { "title": "Guardians of the Galaxy", "year": 2014, "ids": { "trakt": 28, "slug": "guardians-of-the-galaxy-2014", "imdb": "tt2015381", "tmdb": 118340 } } }, { "movie": { "title": "Get On Up", "year": 2014, "ids": { "trakt": 29, "slug": "get-on-up-2014", "imdb": "tt2473602", "tmdb": 239566 } } } ], "2014-08-08": [ { "movie": { "title": "Teenage Mutant Ninja Turtles", "year": 2014, "ids": { "trakt": 30, "slug": "teenage-mutant-ninja-turtles-2014", "imdb": "tt1291150", "tmdb": 98566 } } } ] }'; $response = new TestResponse($json); $json = $response->json(["object" => true]); $days = []; $client = Mockery::mock(stdClass::class . ", " . ClientInterface::class); foreach ($json as $date => $movies) { $days[] = new Day($date, $movies, Type::movie(), get_client_id(), get_token(), $client); } $this->assertInstanceOf(Day::class, $days[0]); $this->assertCount(2, $days); $this->assertInstanceOf(Media::class, $days[0]->releases[0]); }
public function testSearchMovie() { $request = new ByText("guardians of the galaxy", Type::movie(), "2014"); $this->assertEquals(RequestType::GET, $request->getRequestType()); $this->assertEquals("search", $request->getUrl()); }