from django.test import TestCase from django.urls import reverse from alplora.views import ( IndexView, ContactView, LoginView, getlanguages, ) from utils.forms import ContactUsForm from alplora.views import getlanguages from django.utils.translation import override class GetLanguagesTests(TestCase): def test_german_language(self): with override("de"): result = getlanguages() self.assertEqual(result["language"], "de") self.assertEqual( result["list_language"], { "name": "English", "code": "en-us", }, ) self.assertEqual( result["language_activate"], "Deutsch", ) def test_english_language(self): with override("en"): result = getlanguages() self.assertEqual(result["language"], "en") self.assertEqual( result["list_language"], { "name": "Deutsch", "code": "de", }, ) self.assertEqual( result["language_activate"], "English", ) def test_french_language(self): with override("fr"): result = getlanguages() self.assertEqual(result["language"], "fr") self.assertEqual( result["list_language"], { "name": "Deutsch", "code": "de", }, ) self.assertEqual( result["language_activate"], "français", ) class IndexViewTests(TestCase): def test_view_configuration(self): self.assertEqual( IndexView.template_name, "alplora/index.html", ) def test_index_url(self): response = self.client.get( reverse("alplora:index") ) self.assertEqual(response.status_code, 200) def test_index_template(self): response = self.client.get( reverse("alplora:index") ) self.assertTemplateUsed( response, "alplora/index.html", ) def test_index_context(self): response = self.client.get( reverse("alplora:index") ) self.assertIn("language", response.context) self.assertIn("list_language", response.context) self.assertIn("language_activate", response.context) def test_index_context_language(self): response = self.client.get( reverse("alplora:index") ) self.assertEqual( response.context["language"], getlanguages()["language"], ) self.assertEqual( response.context["list_language"], getlanguages()["list_language"], ) self.assertEqual( response.context["language_activate"], getlanguages()["language_activate"], ) class LoginViewTests(TestCase): def test_view_configuration(self): self.assertEqual( LoginView.template_name, "alplora/login.html", ) def test_login_url(self): response = self.client.get( reverse("alplora:login") ) self.assertEqual(response.status_code, 200) def test_login_template(self): response = self.client.get( reverse("alplora:login") ) self.assertTemplateUsed( response, "alplora/login.html", ) def test_login_context(self): response = self.client.get( reverse("alplora:login") ) self.assertIn("language", response.context) self.assertIn("list_language", response.context) self.assertIn("language_activate", response.context) class ContactViewTests(TestCase): def test_view_configuration(self): self.assertEqual( ContactView.template_name, "alplora/contact.html", ) self.assertIs( ContactView.form_class, ContactUsForm, ) self.assertEqual( str(ContactView.success_message), "Message Successfully Sent", ) def test_contact_url(self): response = self.client.get( reverse("alplora:contact") ) self.assertEqual(response.status_code, 200) def test_contact_template(self): response = self.client.get( reverse("alplora:contact") ) self.assertTemplateUsed( response, "alplora/contact.html", ) def test_contact_context(self): response = self.client.get( reverse("alplora:contact") ) self.assertIn("language", response.context) self.assertIn("list_language", response.context) self.assertIn("language_activate", response.context) def test_contact_form_is_rendered(self): response = self.client.get( reverse("alplora:contact") ) self.assertIsInstance( response.context["form"], ContactUsForm, ) def test_contact_form_is_unbound(self): response = self.client.get( reverse("alplora:contact") ) form = response.context["form"] self.assertFalse(form.is_bound)