"""Functional tests of the GET /localization/languages endpoint.""" from flask import json from tests.factories.itunes_languages import ItunesLanguagesFactory from tests.factories.language import LanguageFactory from tests.testutils import db @db.test_schema def test_get_all_itunes_languages_no_data(client): """Test get_all_itunes_languages returns empty list when no data found.""" call_response = client.get('/localization/languages') assert call_response.status_code == 200 actual_result = json.loads(call_response.data.decode()) assert actual_result['items'] == [] @db.test_schema def test_get_all_itunes_languages(client): """Test get_all_itunes_languages when it succeeds.""" mapped_itunes_language = ItunesLanguagesFactory.build(language_code='af') unmapped_itunes_language = ItunesLanguagesFactory.build( language_code='yue-Hant') mapped_orchard_language = LanguageFactory.build(iso_639_1_code='AF') db.seed_models([ mapped_itunes_language, unmapped_itunes_language, mapped_orchard_language]) call_response = client.get('/localization/languages') assert call_response.status_code == 200 actual_result = json.loads(call_response.data.decode()) assert actual_result['items'] == [ { 'language': mapped_itunes_language.language, 'language_code': mapped_itunes_language.language_code, 'language_id': mapped_itunes_language.language_id, 'meta_language_code': mapped_orchard_language.language_code }, { 'language': unmapped_itunes_language.language, 'language_code': unmapped_itunes_language.language_code, 'language_id': unmapped_itunes_language.language_id, 'meta_language_code': None } ]