test_views.py
          
              from django.test import TestCase
              from django.urls import reverse
              from app.models import User
              
              
              class AppViewTests(TestCase):
              
                  def test_lista_reporte_sin_login_view(self):
                      respuesta = self.client.get(reverse('home'))
                      self.assertEqual(respuesta.status_code, 302)
              
                  def test_login_view(self):
                      respuesta = self.client.get(reverse('login'))
                      self.assertEqual(respuesta.status_code, 200)
                      self.assertTemplateUsed(respuesta, 'login.html')
              
                  def test_registro_view(self):
                      respuesta = self.client.get(reverse('register'))
                      self.assertEqual(respuesta.status_code, 200)
                      self.assertTemplateUsed(respuesta, 'register.html')
              
                  def test_lista_reportes_view(self):
                      self.client.force_login(
                          User.objects.get_or_create(username='testuser')[0])
                      respuesta = self.client.get(reverse('home'))
                      self.assertEqual(respuesta.status_code, 200)
                      self.assertTemplateUsed(respuesta, 'index.html')
              
                  def test_mi_lista_reportes_sin_login_view(self):
                      respuesta = self.client.get(reverse('mis-reportes'))
                      self.assertEqual(respuesta.status_code, 302)
              
                  def test_mis_reportes_list_view(self):
                      self.client.force_login(
                          User.objects.get_or_create(username='testuser')[0])
                      respuesta = self.client.get(reverse('mis-reportes'))
                      self.assertEqual(respuesta.status_code, 200)
                      self.assertTemplateUsed(respuesta, 'own_reports.html')
              
                  def test_perfil_sin_login_view(self):
                      respuesta = self.client.get(reverse('profile'))
                      self.assertEqual(respuesta.status_code, 302)
              
                  def test_profile_view(self):
                      self.client.force_login(
                          User.objects.get_or_create(username='testuser')[0])
                      respuesta = self.client.get(reverse('profile'))
                      self.assertEqual(respuesta.status_code, 200)
                      self.assertTemplateUsed(respuesta, 'profile.html')
              
                  def test_crear_reporte_sin_login_view(self):
                      respuesta = self.client.get(reverse('animal_create'))
                      self.assertEqual(respuesta.status_code, 302)
              
                  def test_report_view(self):
                      self.client.force_login(
                          User.objects.get_or_create(username='testuser')[0])
                      respuesta = self.client.get(reverse('animal_create'))
                      self.assertEqual(respuesta.status_code, 200)
                      self.assertTemplateUsed(respuesta, 'create_animal.html')