def test_repository_does_not_add_a_review_without_a_movie_properly_attached( session_factory): repo = SqlAlchemyRepository(session_factory) user = User('aidan', 'hi1234') review = Review(user, None, "Wow good movie", 9, datetime.today()) user.add_review(review) repo.add_user(user) with pytest.raises(RepositoryException): repo.add_review(review)
def test_repository_can_add_a_user(session_factory): repo = SqlAlchemyRepository(session_factory) user = User('Dave', '123456789') repo.add_user(user) repo.add_user(User('Martin', '123456789')) user2 = repo.get_user('Dave') assert user2 == user and user2 is user
def test_add_and_get_users(session_factory): repository = SqlAlchemyRepository(session_factory) assert repository.get_users() == [] repository.add_user(User("Brian Marshall", "123")) repository.add_user(User("Mark Tremonti", "456")) repository.add_user(User("Mark Tremonti", "456")) assert repository.get_user("Brian Marshall") == User( "Brian Marshall", "123") assert repository.get_user("Scott Phillips") is None assert repository.get_users() == [ User("Brian Marshall", "123"), User("Mark Tremonti", "456") ]
def test_repository_can_add_a_review(session_factory): repo = SqlAlchemyRepository(session_factory) user = User('aidan', 'hi1234') movie = Movie("Asdsa", 2014) movie.description = "Sam is sam he is" movie.director = Director('James') movie.runtime_minutes = 140 review = make_review("Wow good movie", user, movie, 9) repo.add_user(user) repo.add_movie(movie) repo.add_review(review) reviews = repo.get_reviews() assert len(reviews) == 1 assert review in reviews
def database(session_factory): repo = SqlAlchemyRepository(session_factory) repo.add_user(User('freddy', '123231')) return repo