예제 #1
0
def load_reviews(data_path: str, repo: MemoryRepository, users):
    for data_row in read_csv_file(os.path.join(data_path, 'comments.csv')):
        review = make_review(review_text=data_row[3],
                             user=users[data_row[1]],
                             movie=repo.get_movie(int(data_row[2])),
                             rating=int(data_row[5]))
        repo.add_review(review)
예제 #2
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(user, movie, "good film", 8)

    in_memory_repo.add_review(review)

    assert review in in_memory_repo.get_reviews()
예제 #3
0
def add_comment(title: str, comment_text: str, username: str, repo: AbstractRepository):
    # Check that the article exists.
    movie = repo.get_movies_by_title(title)
    if movie is None:
        raise NonExistentArticleException

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

    # Create comment.
    comment = make_review(movie, comment_text)

    # Update the repository.
    repo.add_review(comment)
예제 #4
0
def test_make_review_establishes_relationships(movie, user):
    review_text = 'good film'
    review = make_review(user, movie, review_text, 8)

    # 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
예제 #5
0
def add_review(movie_id: int, review_text: str, username: str,
               repo: AbstractRepository):
    # Check that the movie exists.
    movie = repo.get_movie(movie_id)
    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)

    # Update the repository.
    repo.add_review(review)
예제 #6
0
def load_reviews(data_path: str, repo: MemoryRepository):
    for data_row in read_csv_file(os.path.join(data_path, 'comments.csv')):
        movie = repo.get_movie(int(data_row[2]))
        review = make_review(movie=movie, review_text=data_row[3], rating=8)
        repo.add_review(review)