import re from django.contrib.auth import get_user_model from django.contrib.messages import get_messages from django.test import TestCase from django.urls import reverse from appsettings.models import AppSettings from appsettings.settings import app_settings, get_settings class AppSettingsTestCase(TestCase): def setUp(self): self.admin = get_user_model().objects.create_superuser("tests-admin", "admin@example.com", "pw") self.client.force_login(self.admin) def test_get_settings_populates_singleton(self): AppSettings.objects.update_or_create( key="CUSTOM_TEST_SETTING", defaults={"value": "test_value_123", "name": "Custom Test Setting"} ) get_settings() self.assertEqual(getattr(app_settings, "CUSTOM_TEST_SETTING", None), "test_value_123") def test_appsettings_view_get(self): response = self.client.get(reverse("appsettings")) self.assertEqual(response.status_code, 200) def test_the_language_choice_offers_the_translated_languages(self): page = self.client.get(reverse("appsettings")).content.decode() choice = page[page.index('