1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2024-11-01 03:54:15 +00:00
webvirtcloud/accounts/tests.py
2020-09-25 15:57:17 +03:00

64 lines
2 KiB
Python

from django.contrib.auth.models import Permission, User
from django.shortcuts import reverse
from django.test import Client, TestCase
class AccountsTestCase(TestCase):
def setUp(self):
self.client.login(username='admin', password='admin')
user = User.objects.create_user(username='test', password='test')
permission = Permission.objects.get(codename='change_password')
user.user_permissions.add(permission)
def test_profile(self):
response = self.client.get(reverse('profile'))
self.assertEqual(response.status_code, 200)
response = self.client.get(reverse('account', args=[2]))
self.assertEqual(response.status_code, 200)
def test_login_logout(self):
user = User.objects.get(username='test')
self.assertEqual(user.id, 2)
client = Client()
response = client.post(reverse("login"), {"username": "test", "password": "test"})
self.assertRedirects(response, reverse('profile'))
response = client.get(reverse('logout'))
self.assertRedirects(response, reverse('login'))
def test_password_change(self):
client = Client()
logged_in = client.login(username='test', password='test')
self.assertTrue(logged_in)
response = client.get(reverse('change_password'))
self.assertEqual(response.status_code, 200)
response = client.post(
reverse('change_password'),
{
'old_password': 'wrongpass',
'new_password1': 'newpw',
'new_password2': 'newpw',
},
)
self.assertEqual(response.status_code, 200)
response = client.post(
reverse('change_password'),
{
'old_password': 'test',
'new_password1': 'newpw',
'new_password2': 'newpw',
},
)
self.assertRedirects(response, reverse('profile'))
client.logout()
logged_in = client.login(username='test', password='newpw')
self.assertTrue(logged_in)