Skip to content

Commit 76671c0

Browse files
committed
added login page tests
1 parent 4035035 commit 76671c0

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# pip install selenium
2+
# https://askubuntu.com/questions/870530/how-to-install-geckodriver-in-ubuntu
3+
4+
from selenium import webdriver
5+
browser = webdriver.Firefox()
6+
browser.get('http://localhost:8000')
7+
8+
assert 'Django' in browser.title

django_school/classroom/tests.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
from django.test import TestCase, Client
2+
3+
from django.urls import reverse
4+
5+
class LoginPageTest(TestCase):
6+
fixtures = ["datas.json"]
7+
8+
def setUp(self):
9+
self.client = Client()
10+
11+
def test_login_page_returns_correct_html(self):
12+
loginurl = reverse('login')
13+
response = self.client.get(loginurl)
14+
self.assertEqual(response.status_code,200)
15+
# test response contains Username and Password
16+
self.assertIn(b'Username', response.content)
17+
self.assertIn(b'Password', response.content)
18+
19+
# blank fields
20+
response = self.client.post(loginurl)
21+
self.assertIn(b'This field is required.', response.content)
22+
23+
# wrong username or password
24+
response = self.client.post(loginurl, {'username':'bad', 'password':'bad'})
25+
self.assertIn(b'Please enter a correct username and password.', response.content)
26+
27+
def test_login_as_teacher(self):
28+
loginurl = reverse('login')
29+
# login as teacher
30+
response = self.client.post(loginurl, {'username':'sumee', 'password':'sumee1910'}, follow=True)
31+
self.assertEqual(response.redirect_chain[1][0],reverse('teachers:quiz_change_list'))
32+
self.assertIn(b'My Quizzes', response.content)
33+
34+

0 commit comments

Comments
 (0)