From c01d57bf344a6b0581b70e7dd2238f5c9a008ebb Mon Sep 17 00:00:00 2001 From: David Barnes <barnesdavidj@gmail.com> Date: Thu, 7 Jul 2022 10:34:12 -0400 Subject: [PATCH] Add tests for sample_form view. Add tests for view_404 view by triggering 404s. --- tests/test_views.py | 43 +++++++++++++++++++++++++++++++++++++++++++ tests/urls.py | 3 +++ 2 files changed, 46 insertions(+) diff --git a/tests/test_views.py b/tests/test_views.py index 4b546ef..197b8e1 100644 --- a/tests/test_views.py +++ b/tests/test_views.py @@ -59,6 +59,15 @@ class ViewsTestCase(TestCase): self.assertEqual(response.status_code, 200) self.assertContains(response, 'Register') + def test_sample_form_view_returns_correct_template(self): + """Test sample1 view returns correct template""" + request = RequestFactory().get('sample_form/') + request.user = self.test_user_w_perms + request.site = MOCK_SITE + response = views.sample_form(request) + self.assertEqual(response.status_code, 200) + self.assertContains(response, 'This is the sample form page!') + def test_sample1_view_returns_correct_template(self): """Test sample1 view returns correct template""" request = RequestFactory().get('sample1/') @@ -121,6 +130,17 @@ class ViewsTestCase(TestCase): self.assertEqual(response.status_code, 200) self.assertContains(response, "Register") + def test_sample_form_view_redirects_to_login_when_not_authenticated(self): + """Test sample_form view redirects to login when not authenticated""" + response = self.client.get( + reverse('django_adminlte_2:sample_form'), + follow=True + ) + self.assertEqual(response.status_code, 200) + self.assertNotContains(response, "This is the sample_form page!") + self.assertContains(response, "Username") + self.assertContains(response, "Login") + def test_sample1_view_redirects_to_login_when_not_authenticated(self): """Test sample1 view redirects to login when not authenticated""" response = self.client.get( @@ -167,6 +187,16 @@ class ViewsTestCase(TestCase): self.assertContains(response, "Username") self.assertContains(response, "Login") + def test_sample_form_view_works_when_authenticated_with_no_permissions(self): + """Test sample_form view works when authenticated with no permissions""" + self.client.force_login(self.test_user_no_perms) + response = self.client.get( + reverse('django_adminlte_2:sample_form') + ) + self.assertEqual(response.status_code, 200) + self.assertContains(response, "This is the sample form page!") + self.assertNotContains(response, "Username") + def test_sample1_view_works_when_authenticated_with_correct_permissions(self): """Test sample1 view works when authenticated with correct permissions""" self.client.force_login(self.test_user_w_perms) @@ -186,3 +216,16 @@ class ViewsTestCase(TestCase): self.assertEqual(response.status_code, 200) self.assertContains(response, "This is the sample2 page!") self.assertNotContains(response, "Username") + + def test_404_view_works_when_triggered(self): + """Test 404 view works when triggered""" + self.client.force_login(self.test_user_no_perms) + response = self.client.get('unknown/route/') + self.assertEqual(response.status_code, 302) + + def test_404_view_works_when_triggered_and_followed(self): + """Test 404 view works when triggered""" + self.client.force_login(self.test_user_no_perms) + response = self.client.get('unknown/route/', follow=True) + self.assertEqual(response.status_code, 200) + self.assertContains(response, "The page you were looking for does not exist") diff --git a/tests/urls.py b/tests/urls.py index b36176a..faa0893 100644 --- a/tests/urls.py +++ b/tests/urls.py @@ -16,6 +16,9 @@ Including another URLconf from django.contrib import admin from django.urls import include, path +# Will use the custom 404 provided by the package. +handler404 = 'django_adminlte_2.views.view_404' + urlpatterns = [ # Adminlte2 path('', include('django_adminlte_2.urls')), -- GitLab