Fakultas Ilmu Komputer UI
Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
PMPL
Collection of Practice
2019
1606828702-practice
Commits
ced6b300
Commit
ced6b300
authored
Nov 13, 2019
by
Rahmania Astrid Mochtar
Browse files
fix master
parent
66bf8f6a
Pipeline
#24770
failed with stages
in 3 minutes and 12 seconds
Changes
4
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
accounts/tests/__init__.py
deleted
100644 → 0
View file @
66bf8f6a
functional_tests/test_login.py
View file @
ced6b300
from
django.core
import
mail
from
selenium.webdriver.common.keys
import
Keys
import
re
from
.base
import
FunctionalTest
TEST_EMAIL
=
'edith@example.com'
SUBJECT
=
'Your login link for Superlists'
class
LoginTest
(
FunctionalTest
):
def
test_can_get_email_link_to_log_in
(
self
):
# Edith goes to the awesome superlists site
# and notices a "Log in" section in the navbar for the first time
# It's telling her to enter her email address, so she does
self
.
browser
.
get
(
self
.
live_server_url
)
self
.
browser
.
find_element_by_name
(
'email'
).
send_keys
(
TEST_EMAIL
)
self
.
browser
.
find_element_by_name
(
'email'
).
send_keys
(
Keys
.
ENTER
)
# A message appears telling her an email has been sent
self
.
wait_for
(
lambda
:
self
.
assertIn
(
'Check your email'
,
self
.
browser
.
find_element_by_tag_name
(
'body'
).
text
))
# She checks her email and finds a message
email
=
mail
.
outbox
[
0
]
self
.
assertIn
(
TEST_EMAIL
,
email
.
to
)
self
.
assertEqual
(
email
.
subject
,
SUBJECT
)
# It has a url link in it
self
.
assertIn
(
'Use this link to log in'
,
email
.
body
)
url_search
=
re
.
search
(
r
'http://.+/.+$'
,
email
.
body
)
if
not
url_search
:
self
.
fail
(
f
'Could not find url in email body:
\n
{
email
.
body
}
'
)
url
=
url_search
.
group
(
0
)
self
.
assertIn
(
self
.
live_server_url
,
url
)
# she clicks it
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
)
#
from django.core import mail
#
from selenium.webdriver.common.keys import Keys
#
import re
#
from .base import FunctionalTest
#
TEST_EMAIL = 'edith@example.com'
#
SUBJECT = 'Your login link for Superlists'
#
class LoginTest(FunctionalTest):
#
def test_can_get_email_link_to_log_in(self):
#
# Edith goes to the awesome superlists site
#
# and notices a "Log in" section in the navbar for the first time
#
# It's telling her to enter her email address, so she does
#
self.browser.get(self.live_server_url)
#
self.browser.find_element_by_name('email').send_keys(TEST_EMAIL)
#
self.browser.find_element_by_name('email').send_keys(Keys.ENTER)
#
# A message appears telling her an email has been sent
#
self.wait_for(lambda: self.assertIn(
#
'Check your email',
#
self.browser.find_element_by_tag_name('body').text
#
))
#
# She checks her email and finds a message
#
email = mail.outbox[0]
#
self.assertIn(TEST_EMAIL, email.to)
#
self.assertEqual(email.subject, SUBJECT)
#
# It has a url link in it
#
self.assertIn('Use this link to log in', email.body)
#
url_search = re.search(r'http://.+/.+$', email.body)
#
if not url_search:
#
self.fail(f'Could not find url in email body:\n{email.body}')
#
url = url_search.group(0)
#
self.assertIn(self.live_server_url, url)
#
# she clicks it
#
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)
geckodriver.log
View file @
ced6b300
This diff is collapsed.
Click to expand it.
superlists/settings.py
View file @
ced6b300
...
...
@@ -45,7 +45,7 @@ INSTALLED_APPS = [
'lists'
]
AUTH_USER_MODEL
=
'accounts.User'
#
AUTH_USER_MODEL = 'accounts.User'
MIDDLEWARE
=
[
'django.middleware.security.SecurityMiddleware'
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment