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
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
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
7# Create your tests here.
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 }
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)
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)
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))
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))
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']])