from django.conf import settings from django.contrib.auth.models import User from django.test import TestCase class TestViews(TestCase): def setUp(self) -> None: self.user = User.objects.create_user("testuser") def test_login_redirect(self): response = self.client.get('/') self.assertEqual(response.status_code, 302) self.assertEqual(response.url, "/accounts/login/?next=/") def test_index(self): self.client.force_login(self.user) for (language_given, language_actual) in [("", "en-US"), ("en-US", "en-US"), ("de", "de-DE"), ("en", "en-US"), ("en-us", "en-US"), ("fr", "fr-FR"), ("jp", "en-US")]: if language_given: self.client.cookies.load({settings.LANGUAGE_COOKIE_NAME: language_given}) elif settings.LANGUAGE_COOKIE_NAME in self.client.cookies.keys(): self.client.cookies.pop(settings.LANGUAGE_COOKIE_NAME) response = self.client.get('/', ) self.assertEqual(response.status_code, 200) self.assertEqual(response.context_data['webmanifest'], f"frontend/{language_actual}/manifest.webmanifest") self.assertEqual(response.context_data['styles_css'], f"frontend/{language_actual}/styles.css") self.assertEqual(response.context_data['runtime_js'], f"frontend/{language_actual}/runtime.js") self.assertEqual(response.context_data['polyfills_js'], f"frontend/{language_actual}/polyfills.js") self.assertEqual(response.context_data['main_js'], f"frontend/{language_actual}/main.js")