from django.conf import settings from django.test import TestCase from partyhub.i18n_bootstrap import django_languages, locale_config, shared_i18n_catalog class I18nBootstrapTests(TestCase): def test_shared_catalog_bootstraps_default_and_supported_locales(self): default_locale, supported_locales = locale_config() self.assertEqual(default_locale, "en") self.assertEqual(supported_locales, ("en", "da")) def test_django_language_settings_bootstrap_from_shared_i18n_catalog(self): default_locale, supported_locales = locale_config() self.assertEqual(settings.LANGUAGE_CODE, default_locale) self.assertEqual(tuple(code for code, _ in settings.LANGUAGES), supported_locales) self.assertEqual(settings.LANGUAGES, django_languages()) def test_locale_contract_in_catalog_matches_django_language_codes(self): catalog_locales = shared_i18n_catalog()["locales"] self.assertEqual(settings.LANGUAGE_CODE, catalog_locales["default"]) self.assertEqual( [code for code, _ in settings.LANGUAGES], catalog_locales["supported"], )