"""Functional tests for setting a mkt priority of product.""" import json from tests.factories import release as release_factory from tests.testutils import db @db.test_schema def test_set_mkt_priority_success_with_data( client, valid_oa_headers_with_orchard_user_id, product_id): """Check that mkt priority works.""" existing_release = release_factory.ReleaseFactory.build( release_id=product_id) db.seed_models(existing_release) response = client.post( '/product/{}/mkt_priority'.format(product_id), data=json.dumps({ 'country_id': 1, 'priority': 'a', }), headers=valid_oa_headers_with_orchard_user_id ) assert response.status_code == 200 response_body = json.loads(response.data.decode()) assert response_body == { 'country_id': 1, 'id': None, 'priority': 'a', 'release_id': 12345, 'upc': existing_release.upc } @db.test_schema def test_set_mkt_priority_not_oa( client, valid_headers_with_orchard_user_id, product_id): """Check that mkt priority works.""" existing_release = release_factory.ReleaseFactory.build( release_id=product_id) db.seed_models(existing_release) response = client.post( '/product/{}/mkt_priority'.format(product_id), data=json.dumps({ 'country_id': 1, 'priority': 'a', }), headers=valid_headers_with_orchard_user_id ) assert response.status_code == 500 response_body = json.loads(response.data.decode()) assert response_body == { 'code': 'internal_error', 'message': 'User is forbidden' } @db.test_schema def test_set_mkt_priority_microservice( client, valid_headers, product_id): """Check that mkt priority works.""" existing_release = release_factory.ReleaseFactory.build( release_id=product_id) db.seed_models(existing_release) response = client.post( '/product/{}/mkt_priority'.format(product_id), data=json.dumps({ 'country_id': 1, 'priority': 'a', }), headers=valid_headers ) assert response.status_code == 200 response_body = json.loads(response.data.decode()) assert response_body == { 'country_id': 1, 'id': None, 'priority': 'a', 'release_id': 12345, 'upc': existing_release.upc }