"""Functional tests for fetching an mkt priority of product.""" import json from tests.testutils import db @db.test_schema def test_dataload_mkt_priority_success_with_data(client, valid_headers): """Check that mkt priority dataloader works.""" db.insert_mkt_priority_data() release_ids = [92949, 92950, 92951] get_response = client.post( '/product/mkt_priority/dataloader', headers=valid_headers, data=json.dumps(release_ids), ) assert get_response.status_code == 200 response_body = json.loads(get_response.data.decode()) assert response_body == { 'mkt_priority': [ { 'id': 1, 'upc': 829410910552, 'priority': 'a', 'country_id': 0, 'release_id': 92949 }, { 'id': 2, 'upc': 829410750950, 'priority': 'a', 'country_id': 0, 'release_id': 92949 }, { 'id': 3, 'upc': 829410910553, 'priority': 'b', 'country_id': 1, 'release_id': 92950 }, { 'id': 4, 'upc': 829410750954, 'priority': 'a', 'country_id': 2, 'release_id': 92951 } ] } @db.test_schema def test_dataload_mkt_priority_success_without_data(client, valid_headers): """Check that mkt priority dataloader works.""" db.insert_mkt_priority_data() release_ids = [123, 456, 789] get_response = client.post( '/product/mkt_priority/dataloader', headers=valid_headers, data=json.dumps(release_ids), ) assert get_response.status_code == 200 response_body = json.loads(get_response.data.decode()) assert response_body == {'mkt_priority': []} @db.test_schema def test_dataload_mkt_priority_failure(client, valid_headers): """Check that mkt priority dataloader validates payload.""" db.insert_mkt_priority_data() release_ids = ['invalid', 'input', 'data'] get_response = client.post( '/product/mkt_priority/dataloader', headers=valid_headers, data=json.dumps(release_ids), ) assert get_response.status_code == 400