Skip to content

Instantly share code, notes, and snippets.

@rudmanmrrod
Created January 16, 2019 14:31
Show Gist options
  • Save rudmanmrrod/283cc0a406693bd503130a1e96081ef7 to your computer and use it in GitHub Desktop.
Save rudmanmrrod/283cc0a406693bd503130a1e96081ef7 to your computer and use it in GitHub Desktop.
Prueba de perfil normal en django
class ProfileTest(TestCase):
"""!
Clase para probar el perfil
"""
def setUp(self):
"""!
Método para configurar los valores iniciales de
la prueba unitaria
"""
self.factory = RequestFactory()
self.user = User.objects.create_user(
username='testuser', email='[email protected]', password='prueba123')
self.profile = Profile.objects.create(
address='dirección de prueba',
phone='+1 12345687',
gender='M',
user=self.user)
def test_model(self):
"""!
Método para probar el modelo del perfil
"""
profile = Profile()
profile.address='dirección de prueba'
profile.phone='+1 12345687'
profile.gender='M'
profile.user=self.user
profile.save()
self.assertEqual(profile.pk,2)
def test_list_view(self):
"""!
Método para probar el listado de perfiles
"""
request = self.factory.get("/profile")
request.user = self.user
#setup_request(request)
response = ListProfileView.as_view()(request)
self.assertEqual(response.status_code, 200)
def test_create_view(self):
"""!
Método para probar la creación de perfiles
"""
profile = Profile.objects.count()
request = self.factory.post("/profile/create",
{'address': "dirección de prueba",
"phone": "+58 123456",
"gender":"F"})
request.user = self.user
response = CreateProfileView.as_view()(request)
self.assertEqual(response.status_code, 302)
self.assertEqual(Profile.objects.count(), profile+1)
def test_update_view(self):
"""!
Método para probar la actualización de perfiles
"""
request = self.factory.post("/profile/update/1",
{'address': "dirección actualizada",
"phone": "+58 123456",
"gender":"F"})
request.user = self.user
response = UpdateProfileView.as_view()(request,pk=self.profile.pk)
profile = Profile.objects.first()
self.assertEqual(response.status_code, 302)
self.assertEqual(profile.address,"dirección actualizada")
def test_delete_view(self):
"""!
Método para probar el eliminado de perfiles
"""
profile = Profile.objects.count()
request = self.factory.post("/profile/delete/1")
request.user = self.user
response = DeleteProfileView.as_view()(request,pk=self.profile.pk)
self.assertEqual(response.status_code, 302)
self.assertEqual(Profile.objects.count(),profile-1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment