Created
October 20, 2018 02:53
-
-
Save Elise-Lennion/8a4793271c20a44ae70c9c1248348321 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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