tests.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. """
  2. Test Cases
  3. """
  4. from rest_framework.test import APITestCase
  5. from rest_framework import status
  6. from rest_framework.reverse import reverse
  7. from .models import User
  8. from .serializers import UserSerializer
  9. class UserViewTest(APITestCase):
  10. """ Test case for Transactions Views """
  11. user_data_ok = {
  12. "name": 'Test 2',
  13. "email": 'test2@test2.com',
  14. "age": 18
  15. }
  16. user_data_no_age = {
  17. "name": 'Test 2',
  18. "email": 'test2@test2.com'
  19. }
  20. user_data_duplicate_email = {
  21. "name": 'Test 2',
  22. "email": 'test@test.com',
  23. "age": 18
  24. }
  25. def setUp(self):
  26. User.objects.create(id=1, name='test', email='test@test.com', age=18)
  27. def test_pass_create(self):
  28. """
  29. Create user test
  30. """
  31. response = self.client.post(reverse('users_path:users-list'),
  32. self.user_data_ok, format='json')
  33. self.assertEqual(response.data, self.user_data_ok)
  34. self.assertEqual(User.objects.filter(email='test2@test2.com').count(), 1)
  35. self.assertEqual(response.status_code, status.HTTP_201_CREATED)
  36. def test_wrong_create_age_serializer(self):
  37. """
  38. Bad age value
  39. """
  40. serializer = UserSerializer(data=self.user_data_no_age)
  41. self.assertEqual(serializer.is_valid(), False)
  42. self.assertEqual(set(serializer.errors.keys()), set(['age']))
  43. def test_wrong_create_duplicated_email_serializer(self):
  44. """
  45. Bad age email
  46. """
  47. serializer = UserSerializer(data=self.user_data_duplicate_email)
  48. self.assertEqual(serializer.is_valid(), False)
  49. self.assertEqual(set(serializer.errors.keys()), set(['email']))