Пример #1
0
 /**
  * @covers \fpoirotte\XRL\Response::__construct
  * @covers \fpoirotte\XRL\Response::publish
  */
 public function testPublication()
 {
     $response = new TestResponse('abc');
     $this->expectOutputString('abc');
     $response->publish();
     $expected = array('Content-Type: text/xml', 'Content-Length: 3');
     $this->assertEquals($expected, $response->headers);
 }
Пример #2
0
   public function testCanMakeMovieObjectFromSearchResult()
   {
       $json = '{
   "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
     }
   }
 }';
       $clientId = get_client_id();
       $token = get_token();
       $mockResponse = new TestResponse($json);
       $client = Mockery::mock(ClientInterface::class);
       $movie = new Movie($mockResponse->json(['object' => true]), $clientId, $token, $client);
       $this->assertInstanceOf("Wubs\\Trakt\\Media\\Movie", $movie);
       $this->assertEquals(26.019499, $movie->score);
       $this->assertEquals("Batman Begins", $movie->title);
   }
 private function _runAssertions(array $expected, TestResponse $response)
 {
     foreach ($expected as $property => $expectedValue) {
         $this->assertSame($expectedValue, $response->get($property));
     }
 }
Пример #4
0
 function testGetStatus()
 {
     $response = new TestResponse('', $this->some_headers);
     $this->assertEquals(404, $response->getStatusCode());
     $response = new TestResponse('', array_slice($this->some_headers, 0, -2));
     // slice off the last two headers to leave no status header
     $this->assertNull($response->getStatusCode());
 }
Пример #5
0
    public function testCanHandleResponseWithShows()
    {
        $json = '{
  "2014-07-14": [
    {
      "airs_at": "2014-07-14T01:00:00.000Z",
      "episode": {
        "season": 7,
        "number": 4,
        "title": "Death is Not the End",
        "ids": {
          "trakt": 443,
          "tvdb": 4851180,
          "imdb": "tt3500614",
          "tmdb": 988123,
          "tvrage": null
        }
      },
      "show": {
        "title": "True Blood",
        "year": 2008,
        "ids": {
          "trakt": 5,
          "slug": "true-blood",
          "tvdb": 82283,
          "imdb": "tt0844441",
          "tmdb": 10545,
          "tvrage": 12662
        }
      }
    },
    {
      "airs_at": "2014-07-14T02:00:00.000Z",
      "episode": {
        "season": 1,
        "number": 3,
        "title": "Two Boats and a Helicopter",
        "ids": {
          "trakt": 499,
          "tvdb": 4854797,
          "imdb": "tt3631218",
          "tmdb": 988346,
          "tvrage": null
        }
      },
      "show": {
        "title": "The Leftovers",
        "year": 2014,
        "ids": {
          "trakt": 7,
          "slug": "the-leftovers",
          "tvdb": 269689,
          "imdb": "tt2699128",
          "tmdb": 54344,
          "tvrage": null
        }
      }
    }
  ],
  "2014-07-21": [
    {
      "airs_at": "2014-07-21T01:00:00.000Z",
      "episode": {
        "season": 7,
        "number": 5,
        "title": "Return to Oz",
        "ids": {
          "trakt": 444,
          "tvdb": 4851181,
          "imdb": "tt3500616",
          "tmdb": 988124,
          "tvrage": null
        }
      },
      "show": {
        "title": "True Blood",
        "year": 2008,
        "ids": {
          "trakt": 5,
          "slug": "true-blood",
          "tvdb": 82283,
          "imdb": "tt0844441",
          "tmdb": 10545,
          "tvrage": 12662
        }
      }
    },
    {
      "airs_at": "2014-07-21T02:00:00.000Z",
      "episode": {
        "season": 1,
        "number": 4,
        "title": "B.J. and the A.C.",
        "ids": {
          "trakt": 500,
          "tvdb": 4854798,
          "imdb": "tt3594942",
          "tmdb": 988347,
          "tvrage": null
        }
      },
      "show": {
        "title": "The Leftovers",
        "year": 2014,
        "ids": {
          "trakt": 7,
          "slug": "the-leftovers",
          "tvdb": 269689,
          "imdb": "tt2699128",
          "tmdb": 54344,
          "tvrage": null
        }
      }
    }
  ]
}';
        $mockResponse = new TestResponse($json);
        $json = $mockResponse->json(['object' => true]);
        $days = [];
        $client = Mockery::mock(stdClass::class . ", " . ClientInterface::class);
        foreach ($json as $date => $shows) {
            $days[] = new Day($date, $shows, Type::show(), get_client_id(), get_token(), $client);
        }
        $this->assertInstanceOf(Show::class, $days[0]->releases[0]);
        $this->assertCount(2, $days);
    }