示例#1
0
def test_repository_can_add_a_review(in_memory_repo):
    user = in_memory_repo.get_user('thorke')
    movie = in_memory_repo.get_movie(2)
    review = make_review(movie, "dudududududu", 5, user, datetime.today())

    in_memory_repo.add_review(review)
    assert review in in_memory_repo.get_reviews()
示例#2
0
def test_repo_can_add_review(in_memory_repo):
    movie = in_memory_repo.get_movie('Moana', 2016)
    user = in_memory_repo.get_user('admin')
    review = make_review(user, movie, 'Cool', 5)

    in_memory_repo.add_review(review)

    assert review in in_memory_repo.get_reviews()
示例#3
0
def test_repository_can_retrieve_reviews(in_memory_repo):
    user = User('Ella', '123456789')
    in_memory_repo.add_user(user)

    user = in_memory_repo.get_user('Ella')
    movie = in_memory_repo.get_movie(2)
    review = make_review("Could be better", user, movie, 3)

    in_memory_repo.add_review(review)

    assert len(in_memory_repo.get_reviews()) == 1
def load_reviews(data_path: str, repo: MemoryRepository, users):
    for data_row in read_csv_file(os.path.join(data_path, 'reviews.csv')):
        review = make_review(
            movie=repo.get_movie(int(data_row[2])),
            review_text=data_row[3],
            rating=int(data_row[4]),
            user=users[data_row[1]],
            timestamp=datetime.fromisoformat(data_row[5])
        )

        repo.add_review(review)
示例#5
0
def add_review(title: str, year: str, review_text: str, username: str,
               rating: int, repo: AbstractRepository):
    """
    """
    movie = repo.get_movie(title, int(year))
    if movie is None:
        raise UnknownMovieException

    user = repo.get_user(username)
    if user is None:
        raise UnknownUserException

    review = make_review(user, movie, review_text, rating)
    repo.add_review(review)
示例#6
0
def add_review(movie_rank: int, review_text: str, username: str, rating, repo: AbstractRepository):
    # Check that the movie exists.
    movie = repo.get_movie(movie_rank)
    if movie is None:
        raise NonExistentMovieException

    user = repo.get_user(username)
    if user is None:
        raise UnknownUserException

    # Create review.
    review = make_review(review_text, user, movie, rating)

    # Update the repository.
    repo.add_review(review)
示例#7
0
def test_make_review_establishes_relationships(movie, user):
    review_text = 'Barnacle Boy in the USA!'
    review = make_review(movie, review_text, 10, user, datetime.today())

    # Check that the User object knows about the Review.
    assert review in user.reviews

    # Check that the Review knows about the User.
    assert review.user is user

    # Check that Movie knows about the Review.
    assert review in movie.reviews

    # Check that the Review knows about the Movie.
    assert review.movie is movie
示例#8
0
def test_make_review_establishes_relationships(movie, user):
    review_text = "Great movie!"
    rating = 9
    review = make_review(review_text, user, movie, rating, datetime.today())

    # Check that the User object knows about the Review.
    assert review in user.reviews

    # Check that the Review knows about the User.
    assert review.user is user

    # Check that Article knows about the Comment.
    assert review in movie.reviews

    # Check that the Comment knows about the Article.
    assert review.movie is movie