def test_repository_returns_release_year_of_previous_movie(session_factory): repo = SqlAlchemyRepository(session_factory) movie = repo.get_movie_by_index(1) previous_year = repo.get_release_year_of_previous_movie(movie) assert previous_year == 2012 # 2013 for 1000 movies
def test_repository_can_get_the_oldest_movie(session_factory): repo = SqlAlchemyRepository(session_factory) movie = repo.get_oldest_movie() assert movie.release_year == 2012 assert movie.title == "Prometheus"
def test_repository_does_not_retrieve_a_non_existent_user(session_factory): repo = SqlAlchemyRepository(session_factory) user = repo.get_user('prince') assert user is None
def test_repository_returns_a_list_of_movies_based_on_actor_and_director(session_factory): repo = SqlAlchemyRepository(session_factory) list_of_movies = repo.search_movies_by_actor_and_director('Ryan Gosling', 'Damien Chazelle') assert len(list_of_movies) == 1 assert list_of_movies[0].title == 'La La Land'
def test_repository_can_get_the_latest_movie(session_factory): repo = SqlAlchemyRepository(session_factory) movie = repo.get_latest_movie() assert movie.title == 'Split' assert movie.release_year == 2016
def test_repository_returns_empty_list_of_movie_for_non_existent_director(session_factory): repo = SqlAlchemyRepository(session_factory) list_of_movies = repo.get_movies_directed_by_a_director('Fake Director') assert len(list_of_movies) == 0
def test_repository_can_retrieve_a_user(session_factory): repo = SqlAlchemyRepository(session_factory) user = repo.get_user('fmercury') assert user == User('fmercury', '8734gfe2058v')
def test_repository_returns_a_list_of_movies_directed_by_a_valid_director(session_factory): repo = SqlAlchemyRepository(session_factory) list_of_movies_directed_by_James_Gunn = repo.get_movies_directed_by_a_director("James Gunn") assert len(list_of_movies_directed_by_James_Gunn) == 1 assert list_of_movies_directed_by_James_Gunn[0].title == "Guardians of the Galaxy"
def test_repository_returns_an_empty_list_of_movie_for_non_existent_actor(session_factory): repo = SqlAlchemyRepository(session_factory) list_of_movies_played_by_fake_actor = repo.get_movies_played_by_an_actor('Fake Actor') assert len(list_of_movies_played_by_fake_actor) == 0
def test_repository_can_check_existence_of_genre(session_factory): repo = SqlAlchemyRepository(session_factory) assert repo.check_genre_existence(Genre("Fake Genre")) is False assert repo.check_genre_existence(Genre("Animation")) is True assert repo.check_genre_existence(Genre("Family")) is True
def test_repository_can_retrieve_correct_genre_count(session_factory): repo = SqlAlchemyRepository(session_factory) assert repo.get_total_number_of_genres_in_repo() == 14
def test_repository_can_retrieve_a_genre(session_factory): repo = SqlAlchemyRepository(session_factory) genre = repo.get_genre('Sci-Fi') assert genre == Genre('Sci-Fi') assert Movie("Guardians of the Galaxy", 2014) in genre.classified_movies