48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """passbook user view tests"""
 | |
| import string
 | |
| from random import SystemRandom
 | |
| 
 | |
| from django.shortcuts import reverse
 | |
| from django.test import TestCase
 | |
| 
 | |
| from passbook.core.forms.users import PasswordChangeForm
 | |
| from passbook.core.models import User
 | |
| 
 | |
| 
 | |
| class TestUserViews(TestCase):
 | |
|     """Test User Views"""
 | |
| 
 | |
|     def setUp(self):
 | |
|         super().setUp()
 | |
|         self.user = User.objects.create_superuser(
 | |
|             username='unittest user',
 | |
|             email='unittest@example.com',
 | |
|             password=''.join(SystemRandom().choice(
 | |
|                 string.ascii_uppercase + string.digits) for _ in range(8)))
 | |
|         self.client.force_login(self.user)
 | |
| 
 | |
|     def test_user_settings(self):
 | |
|         """Test UserSettingsView"""
 | |
|         self.assertEqual(self.client.get(reverse('passbook_core:user-settings')).status_code, 200)
 | |
| 
 | |
|     def test_user_delete(self):
 | |
|         """Test UserDeleteView"""
 | |
|         self.assertEqual(self.client.post(reverse('passbook_core:user-delete')).status_code, 302)
 | |
|         self.assertEqual(User.objects.filter(username='unittest user').exists(), False)
 | |
|         self.setUp()
 | |
| 
 | |
|     def test_user_change_password(self):
 | |
|         """Test UserChangePasswordView"""
 | |
|         form_data = {
 | |
|             'password': 'test2',
 | |
|             'password_repeat': 'test2'
 | |
|         }
 | |
|         form = PasswordChangeForm(data=form_data)
 | |
|         self.assertTrue(form.is_valid())
 | |
|         self.assertEqual(self.client.get(
 | |
|             reverse('passbook_core:user-change-password')).status_code, 200)
 | |
|         self.assertEqual(self.client.post(
 | |
|             reverse('passbook_core:user-change-password'), data=form_data).status_code, 302)
 | |
|         self.user.refresh_from_db()
 | |
|         self.assertTrue(self.user.check_password('test2'))
 | 
