Files
django-dav-events/dav_auth/tests/test_templates.py
heinzel 98a6fc3ce7
All checks were successful
buildbot/tox Build done.
try to make pylint happy
2022-06-08 00:08:09 +02:00

68 lines
2.6 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.contrib.auth import get_user_model
from django.test import SimpleTestCase, tag
from django.utils.translation import ugettext
from django.urls import reverse
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
from dav_base.tests.generic import SeleniumTestCase
from .generic import SeleniumAuthMixin
TEST_USERNAME = 'root@localhost'
TEST_PASSWORD = 'me||ön 21ABll'
TEST_EMAIL = TEST_USERNAME
class TemplatesTestCase(SimpleTestCase):
def test_recreate_link_in_login_form(self):
login_url = reverse('dav_auth:login')
recreate_url = reverse('dav_auth:recreate_password')
text = ugettext('Passwort vergessen?')
html = '<a href="{url}">{text}</a>'.format(url=recreate_url, text=text)
response = self.client.get(login_url)
self.assertInHTML(html, response.content.decode('utf-8'))
@tag('browser')
class TestCase(SeleniumAuthMixin, SeleniumTestCase):
def setUp(self):
super().setUp()
# Need a test user
self.test_username = TEST_USERNAME
self.test_password = TEST_PASSWORD
model = get_user_model()
self.user = model.objects.create_user(username=TEST_USERNAME, password=TEST_PASSWORD, email=TEST_EMAIL)
def test_login_button_in_root_page(self):
c = self.selenium
c.get(self.complete_url('/'))
try:
c.find_element_by_css_selector('#login-widget a')
except NoSuchElementException as e: # pragma: no cover
self.fail(str(e))
def test_required_fields_in_login_form(self):
c = self.selenium
location = reverse('dav_auth:login')
c.get(self.complete_url(location))
field = c.find_element_by_id('id_username')
self.assertEqual(field.get_attribute('required'), 'true')
field = c.find_element_by_id('id_password')
self.assertEqual(field.get_attribute('required'), 'true')
def test_required_fields_in_set_password_form(self):
c = self.login(self.selenium, self.test_username, self.test_password)
c.get(self.complete_url(reverse('dav_auth:set_password')))
field = self.wait_on_presence(c, (By.ID, 'id_new_password'))
self.assertEqual(field.get_attribute('required'), 'true')
field = c.find_element_by_id('id_new_password_repeat')
self.assertEqual(field.get_attribute('required'), 'true')
field = c.find_element_by_id('id_send_password_mail')
self.assertEqual(field.get_attribute('required'), None)