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')),