"""Functional tests for endpoint to get product review history. GET /review-history/product_id """ import json from tests.utils.db_utils import ( create_test_approval, create_test_rejection, create_test_review_queue_item, ) def test_get_review_history_success(fixture_client): """Test get review history for a product is successful.""" create_test_review_queue_item( product_id=123456, status="complete", review_queue_id=1 ) create_test_review_queue_item( product_id=123456, status="complete", review_queue_id=2 ) create_test_rejection(review_queue_id=1, user_id="123", note="hello") create_test_approval(review_queue_id=2, user_id="456") request_url = "/review-history/123456" server_response = fixture_client.get(request_url) response_json = json.loads(server_response.data.decode("utf-8")) items = response_json["items"] assert server_response.status_code == 200 assert len(items) == 2 for item in items: assert item["product_id"] == 123456 assert item["status"] == "complete" assert items[1]["approval"] is None assert items[1]["rejection"]["note"] == "hello" assert items[0]["rejection"] is None assert items[0]["approval"]["user_id"] == "456" def test_get_review_history_none(fixture_client): """Test get items from review queue is successful.""" request_url = "/review-history/123456" server_response = fixture_client.get(request_url) response_json = json.loads(server_response.data.decode("utf-8")) assert server_response.status_code == 200 assert response_json["items"] == []