def test_add_movies_to_writer(self): # writer, Dostoevskiy imdb_movie = ImdbMovieFactory(id=475730) imdb_person = ImdbPersonFactory(id=234502, person__country=None) imdb_person.sync(roles=True) self.assertTrue( imdb_person.person.career.filter(movie=imdb_movie.movie, role=self.author))
def test_add_roles_to_movie_by_imdb_id(self): imdb_person1 = ImdbPersonFactory( id=905152) # Lilly Wachowski: director, scenarist, producer imdb_person2 = ImdbPersonFactory(id=206) # Keanu Reeves: Neo imdb_person3 = ImdbPersonFactory(id=50390) # Jeremy Ball: Businessman imdb_movie = ImdbMovieFactory(id=133093) imdb_movie.sync(roles=True) self.assert_matrix_cast(imdb_movie, imdb_person1.person, imdb_person2.person, imdb_person3.person)
def test_search_and_sync_right_movie_by_person(self, search_movie): movie1 = MovieFactory(year=2014, title_en='The Prince') movie2 = MovieFactory(year=2014, title_en='The Prince') ImdbPersonFactory(id=2357819, person=CastFactory(movie=movie1).person) ImdbPersonFactory(id=3167230, person=CastFactory(movie=movie2).person) sync_movie(movie1.id) sync_movie(movie2.id) self.assertEqual(movie1.imdb.id, 1085492) self.assertEqual(movie2.imdb.id, 3505782) self.assertFalse(search_movie.called)
def test_stat_page(self): for i in range(100): ImdbMovieFactory(movie=KinopoiskMovieFactory().movie) ImdbPersonFactory(person=KinopoiskPersonFactory().person) with self.assertNumQueries(21): response = self.client.get(reverse(f'admin:statistic')) self.assertEqual(response.status_code, 200)
def test_sync_person_with_2_ids(self): imdb_person = ImdbPersonFactory(id=1890852, person__country=None, person__first_name_en='', person__last_name_en='') sync_person(imdb_person.person.id, roles=False) self.assertEqual(imdb_person.id, 440022)
def test_add_authors_to_movie(self): imdb_person = ImdbPersonFactory(id=234502) # writer, Dostoevskiy imdb_movie = ImdbMovieFactory(id=475730) imdb_movie.sync(roles=True) self.assertTrue( imdb_movie.movie.cast.get(person=imdb_person.person, role=self.author))
def test_sync_movie_with_wrong_person(self): dan_brown_wrong = ImdbPersonFactory(id=1640149, person__country=None, person__first_name_en='Dan', person__last_name_en='Brown') imdb_movie = ImdbMovieFactory(id=382625, movie=CastFactory( person=dan_brown_wrong.person, role=self.producer).movie) sync_movie(imdb_movie.movie.id, roles='all') self.assertTrue( imdb_movie.movie.cast.get(role=self.producer, person__imdb__id=1467010))
def test_sync_person_movies_with_the_same_title(self): # person has 2 movies "The Conversation" 1974 and 1995 movie1 = MovieFactory(title_en='The Conversation', year=1974) imdb_person = ImdbPersonFactory(id=338) CastFactory(movie=movie1, person=imdb_person.person, role=self.producer) sync_person(imdb_person.person.id, roles='all') self.assertTrue( imdb_person.person.career.get(role=self.producer, movie=movie1, movie__imdb__id=71360)) self.assertTrue( imdb_person.person.career.get(role=self.producer, movie__imdb__id=8041860))
def test_person_with_related_sites(self): p = ImdbPersonFactory(person=KinopoiskPersonFactory().person).person query = ''' query Person($id: ID!) { person(id: $id) { id imdb { id, url } kinopoisk { id, info, url } } } ''' with self.assertNumQueries(1): result = self.execute(query, dict(id=global_id(p))) self.assertEqual(result['person']['imdb']['id'], p.imdb.id) self.assertEqual(result['person']['imdb']['url'], p.imdb.url) self.assertEqual(result['person']['kinopoisk']['id'], p.kinopoisk.id) self.assertEqual(result['person']['kinopoisk']['info'], p.kinopoisk.info) self.assertEqual(result['person']['kinopoisk']['url'], p.kinopoisk.url)
def test_sync_person_with_no_filmography(self): imdb_person = ImdbPersonFactory(id=1404411) sync_person(imdb_person.person.id, roles='all') self.assertEqual(imdb_person.person.career.count(), 0)
def imdb_dennis_hopper(self): return ImdbPersonFactory(id=454, person__country=None, person__first_name_en='', person__last_name_en='')