Skip to content

Instantly share code, notes, and snippets.

@Elise-Lennion
Created October 20, 2018 02:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Elise-Lennion/8a4793271c20a44ae70c9c1248348321 to your computer and use it in GitHub Desktop.
Save Elise-Lennion/8a4793271c20a44ae70c9c1248348321 to your computer and use it in GitHub Desktop.
from django.test import TestCase
from django.contrib.auth.models import User
from django.contrib import auth
class FrontPageViewTest(TestCase):
@classmethod
def setUpTestData(cls):
""" Creates 1 user """
test_user1 = User.objects.create(username='Testuser1')
test_user1.set_password('senha8dg')
test_user1.save()
def test_user_login(self):
response = self.client.post('/',
{'login_form': 'True', 'username': 'Testuser1', 'password': 'senha8dg'},)
user = auth.get_user(self.client)
self.assertTrue(user.is_authenticated)
self.client.logout()
response = self.client.post('/',
{'login_form': 'True', 'username': 'Testuser2', 'password': 'senha8dg'},)
user = auth.get_user(self.client)
self.assertFalse(user.is_authenticated)
def test_user_register_creates_user(self):
self.client.post('/',
{'register_form': 'True', 'username': 'Testuser2', 'password1': 'senha8dg', 'password2': 'senha8dg'},)
try:
User.objects.get(username='Testuser2')
except Exception as e:
self.fail('Exception: ' + str(e))
# Challenge tests
def test_redirect_if_logged_in(self):
self.assertTrue(self.client.login(username='Testuser1', password='senha8dg'))
response = self.client.get('/')
self.assertEqual(response.status_code, 302)
def test_last_used_form_has_autofocus_after_fail(self):
""" Test if register form has focus after failed register and login form has focus after failed login """
response = self.client.post('/',
{'login_form': 'True', 'username': 'Testuser1', 'password': 'wrong'},)
self.assertTrue('autofocus' in response.context['login_form']['username'][0].data['attrs'])
response = self.client.post('/',
{'register_form': 'True', 'username': 'Testuser2', 'password1': 'wrong', 'password2': 'wrong'},)
self.assertTrue('autofocus' in response.context['register_form']['username'][0].data['attrs'])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment