"""Tests for delete_product_localizations handler.""" import json from tests.factories.release_artist import ReleaseArtistFactory from tests.factories.release_artist_localized_metadata import \ ReleaseArtistLocalizedMetadataFactory from tests.factories.release_localized_metadata import \ ReleaseLocalizedMetadataFactory from tests.testutils import db @db.test_schema def test_delete_product_localizations(test_product, client): """Test delete_product_localizations is successful.""" db.insert_vw_product() db.insert_itunes_languages() db.seed_models(ReleaseLocalizedMetadataFactory.build( release_id=test_product)) db.seed_models(ReleaseArtistFactory.build(release_artist_id=1)) db.seed_models(ReleaseArtistLocalizedMetadataFactory.build( release_artist_id=1, language_id=1)) server_response = client.delete( '/localization/product/1/language/1?legacy=1') assert server_response.status_code == 200 assert server_response.data == \ b'Successfully deleted release and artist localizations.' @db.test_schema def test_delete_product_localizations_invalid_product(client): """Test delete_product_localizations fails with invalid product.""" server_response = client.delete( '/localization/product/1/language/1?legacy=1') assert server_response.status_code == 404 @db.test_schema def test_delete_product_localizations_no_data(client): """Test delete_product_localizations fails with no localization data.""" db.insert_vw_product() db.insert_itunes_languages() server_response = client.delete( '/localization/product/1/language/1?legacy=1') actual_result = json.loads(server_response.data.decode()) assert server_response.status_code == 404 expected = 'No release localization data deleted.No artist ids sent for ' \ 'delete release artist localization.' assert actual_result['message'] == expected assert actual_result['code'] == 'not_found_error'