Tests
Wrong tests -
from django.test import TestCase
from django.urls import reverse
from django.contrib.auth.models import User
from .forms import UserRegisterForm, UserUpdateForm, ProfileUpdateForm
# to test run: python manage.py test users1.tests
class UserAuthenticationTests(TestCase):
def setUp(self):
self.register_url = reverse('register')
self.login_url = reverse('login')
self.profile_url = reverse('profile')
self.delete_user_url = reverse('delete_user')
self.logout_url = reverse('logout')
self.edit_profile_url = reverse('edit_profile')
self.user = User.objects.create_user(
username='testuser',
password='testpassword'
)
def test_register_view(self):
response = self.client.get(self.register_url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'users1/register.html')
response = self.client.post(self.register_url, {
'username': 'newuser',
'password1': 'newpassword',
'password2': 'newpassword'
})
self.assertEqual(response.status_code, 200)
self.assertRedirects(response, reverse('login'))
def test_profile_view(self):
self.client.login(username='testuser', password='testpassword')
response = self.client.get(self.profile_url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'users1/profile.html')
def test_delete_user_view(self):
self.client.login(username='testuser', password='testpassword')
response = self.client.get(self.delete_user_url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'users1/delete_user.html')
response = self.client.post(self.delete_user_url)
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('index'))
def test_logout_view(self):
self.client.login(username='testuser', password='testpassword')
response = self.client.get(self.logout_url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'users1/logout.html')
response = self.client.post(self.logout_url)
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('index'))
def test_edit_profile_view(self):
self.client.login(username='testuser', password='testpassword')
response = self.client.get(self.edit_profile_url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'users1/edit_profile.html')
response = self.client.post(self.edit_profile_url, {
'username': 'newusername',
'email': 'newemail@example.com',
'first_name': 'New',
'last_name': 'User',
'bio': 'New bio'
})
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('profile'))