Beispiel #1
0
def test_get_film_rating(client: TestClient, http_basic_auth: HTTPBasicAuth):
    film = FilmFactory()
    ReviewFactory(film=film, rating=2, comment=None)
    ReviewFactory(film=film, rating=3, comment='')
    ReviewFactory(film=film, rating=10)
    response = client.get(f'/films/{film.id}/rating', auth=http_basic_auth)
    assert response.status_code == status.HTTP_200_OK

    expected_ratings = FilmRatingSchema(rating=5, num_ratings=3, num_reviews=1)
    actual_ratings = FilmRatingSchema.parse_raw(response.text)
    assert expected_ratings == actual_ratings
Beispiel #2
0
def test_update_review(db: Session):
    review = ReviewFactory()
    db.refresh(review)
    new_review_data = ReviewUpdateSchema.from_orm(ReviewCreateFactory.build())
    updated_review = review_crud.update(db, review, new_review_data)
    retrieved_review_data = ReviewUpdateSchema.from_orm(updated_review)
    assert new_review_data == retrieved_review_data
def test_delete_review(client: TestClient, http_basic_auth: HTTPBasicAuth):
    review = ReviewFactory()
    response = client.delete(f'/reviews/{review.id}', auth=http_basic_auth)
    assert response.status_code == status.HTTP_200_OK

    actual_review = ReviewSchema.from_orm(review)
    retrieved_review = ReviewSchema.parse_raw(response.text)
    assert actual_review == retrieved_review
def test_get_reviews(client: TestClient, http_basic_auth: HTTPBasicAuth):
    reviews = ReviewFactory.create_batch(3)
    response = client.get('/reviews', auth=http_basic_auth)
    assert response.status_code == status.HTTP_200_OK

    actual_reviews = ReviewListSchema(__root__=reviews)
    retrieved_reviews = ReviewListSchema.parse_raw(response.text)
    assert actual_reviews == retrieved_reviews
def test_update_review(client: TestClient, http_basic_auth: HTTPBasicAuth):
    review = ReviewFactory()
    new_review_data = ReviewUpdateSchema.from_orm(ReviewCreateFactory())
    response = client.put(
        f'/reviews/{review.id}',
        json=jsonable_encoder(new_review_data),
        auth=http_basic_auth,
    )
    assert response.status_code == status.HTTP_200_OK

    retrieved_review_data = ReviewUpdateSchema.parse_raw(response.text)
    assert new_review_data == retrieved_review_data
Beispiel #6
0
 def reviews(self, item):
     reviews = ReviewFactory.create_batch(size=6, item=item)
     return reviews
Beispiel #7
0
def test_get_film_rating():
    film = FilmFactory()
    ReviewFactory(film=film, rating=2)
    ReviewFactory(film=film, rating=3)
    ReviewFactory(film=film, rating=10)
    assert film.rating == 5
Beispiel #8
0
def test_get_review(db: Session):
    actual_review = ReviewFactory()
    retrieved_review = review_crud.get(db, actual_review.id)
    assert retrieved_review == actual_review
Beispiel #9
0
def test_delete_review(db: Session):
    review = ReviewFactory()
    deleted_review = review_crud.remove(db, review.id)
    retrieved_review = review_crud.get(db, review.id)
    assert review == deleted_review
    assert retrieved_review is None
Beispiel #10
0
def test_get_reviews(db: Session):
    actual_reviews = ReviewFactory.create_batch(3)
    retrieved_reviews = review_crud.get_multi(db)
    assert actual_reviews == retrieved_reviews