From 64d14dec16a1bc25593d12bf5fdd839a6de0b230 Mon Sep 17 00:00:00 2001
From: emil farisan <emil.farisan@gmail.com>
Date: Wed, 27 Nov 2019 14:03:53 +0700
Subject: [PATCH] Exercise 8

---
 accounts/urls.py               | 10 ++++++++++
 functional_tests/test_login.py | 20 +++++++++++++++-----
 2 files changed, 25 insertions(+), 5 deletions(-)
 create mode 100644 accounts/urls.py

diff --git a/accounts/urls.py b/accounts/urls.py
new file mode 100644
index 0000000..98e9be1
--- /dev/null
+++ b/accounts/urls.py
@@ -0,0 +1,10 @@
+from django.contrib.auth.views import logout
+from django.conf.urls import url
+from accounts import views
+
+
+urlpatterns = [
+    url(r'^send_login_email$', views.send_login_email, name='send_login_email'),
+    url(r'^login$', views.login, name='login'),
+    url(r'^logout$', logout, {'next_page': '/'}, name='logout'),
+]
\ No newline at end of file
diff --git a/functional_tests/test_login.py b/functional_tests/test_login.py
index 1aa1676..feced9c 100644
--- a/functional_tests/test_login.py
+++ b/functional_tests/test_login.py
@@ -41,8 +41,18 @@ class LoginTest(FunctionalTest):
         self.browser.get(url)
 
         # she is logged in!
-        self.wait_for(
-            lambda: self.browser.find_element_by_link_text('Log out')
-        )
-        navbar = self.browser.find_element_by_css_selector('.navbar')
-        self.assertIn(TEST_EMAIL, navbar.text)
\ No newline at end of file
+       ​self.wait_for(
+           ​lambda: self.browser.find_element_by_link_text('Log out')
+       ​)
+       ​navbar = self.browser.find_element_by_css_selector('.navbar')
+       ​self.assertIn(TEST_EMAIL, navbar.text)
+
+       ​# Now she logs out
+       ​self.browser.find_element_by_link_text('Log out').click()
+
+       ​# She is logged out
+       ​self.wait_for(
+           ​lambda: self.browser.find_element_by_name('email')
+       ​)
+       ​navbar = self.browser.find_element_by_css_selector('.navbar')
+       ​self.assertNotIn(TEST_EMAIL, navbar.text)
\ No newline at end of file
-- 
GitLab