diff --git a/tests/test_views.py b/tests/test_views.py index 4b546efe3535550324fa4b516d6795955e9e6f27..197b8e14ea6728ee47f5a5bc9675877d0b72d53e 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 b36176ada49787672c63c878d2837466325c4973..faa08938967a671226cc55931f9c6bc1c3d72d05 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')),