def test_attributes(self): title = 'Series 1' url = 'my url' series = Series(title, url) self.assertEqual(series.title, title) self.assertEqual(series.url, url)
def test_updating_properties(self, grab): series = Series('title', 'url', genres=['genre']) # no updates on init series._grab.go.assert_not_called() # no updates when property was already set series.genres series._grab.go.assert_not_called() # update when property is not updated series.episodes series._grab.go.assert_called_once() # no new updates when property is already updated series._views = 10 series.views series._grab.go.assert_called_once()
def test_calling_update(self, grab): grab = mock.Mock() grab.doc.tree.xpath.return_value = '' episode = 'episode' series = Series('title', 'url', 'image_url', latest_episode=episode) self.assertEqual(series.latest_episode, episode) series._grab.go.assert_not_called() self.assertEqual(series.episodes, []) series._grab.go.assert_called_once()
def get(self, request): url = request.GET.get('url') series = Series(title='', url=url) series = { 'genres': series.genres, 'latest_episode': _to_dict(series.latest_episode), 'episodes': [_to_dict(e) for e in series.episodes], 'summary': series.summary, 'status': series.status, 'views': series.views, 'aired': series.aired } return Response(series)
def test_properties(self): series = Series( 'Brickleberry Season 01', 'https://kisscartoon.io/Cartoon/Brickleberry-Season-01/', 'http://kimcartoon.me/Uploads/Etc/11-24-2014/2272881brick.jpg' ) self.assertEqual(series.status, STATUS.COMPLETED) self.assertGreater(series.views, 380000) self.assertEqual(series.aired, '2012') self.assertEqual(series.genres, [GENRE.COMEDY]) summary = '''A group of never-do-well forest rangers are facing ''' \ '''the shutdown of their National Park when a new ranger ''' \ '''arrives to help transform them and save the park.''' self.assertEqual(series.summary, summary) self.assertEqual(len(series.episodes), 10) self.assertTrue(all(isinstance(episode, Episode)) for episode in series.episodes) self.assertIsInstance(series.latest_episode, Episode) self.assertEqual(series.latest_episode.title, 'Watch Brickleberry Season 01 Episode 09 Daddy Issues') self.assertEqual(series.latest_episode.date_added, datetime(2014, 11, 25))
def test_empty_init(self): with self.assertRaises(TypeError): Series()