Coverage for users\tests.py: 100%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

31 statements  

1from django.http import response 

2from django.test import TestCase, client 

3from users.models import CustomUser 

4from users.forms import CustomUserCreationForm 

5from django.contrib.auth.models import User 

6 

7# Create your tests here. 

8 

9 

10class TUserCreation(TestCase): 

11 def setUp(self): 

12 self.test_data = { 

13 'email': "testuser@email.com", 

14 'username': "testuser", 

15 'password1': "password123!", 

16 'password2': "password123!" 

17 } 

18 

19 def test_user_registration(self): 

20 response = self.client.post('/api/v1/users/auth/register/', data = self.test_data) 

21 self.assertEqual(response.status_code, 201) 

22 

23 def test_user_login(self): 

24 self.client.post('/api/v1/users/auth/register/', data = self.test_data) 

25 response = self.client.post('/api/v1/users/auth/login/', data = { 

26 "email" : self.test_data['email'], 

27 "password" : self.test_data['password1'] 

28 }) 

29 self.assertEqual(response.status_code, 200) 

30 

31 def test_string_representation_customuser(self): 

32 user = CustomUser.objects.create(email = self.test_data['email']) 

33 expected_representation = self.test_data['email'] 

34 self.assertEqual(expected_representation, str(user)) 

35 

36 def test_registration_form(self): 

37 form = CustomUserCreationForm(data = self.test_data) 

38 self.assertTrue(form.is_valid()) 

39 expected_representation = self.test_data['email'] 

40 user = form.save() 

41 self.assertEqual(expected_representation, str(user)) 

42 

43 def test_password_mismatch(self): 

44 test_data_mismatch = self.test_data 

45 test_data_mismatch['password2'] = "something_else" 

46 form = CustomUserCreationForm(data = test_data_mismatch) 

47 self.assertFalse(form.is_valid()) 

48 self.assertEqual(form["password2"].errors, [form.error_messages['password_mismatch']]) 

49 

50