Commit d237fd00 authored by Michal Čihař's avatar Michal Čihař

More complete selenium test

- test real login
- open profile page
- do logout afterwards
parent 3999a76e
......@@ -2,6 +2,7 @@ from django.test import LiveServerTestCase
from django.utils.unittest import SkipTest
from selenium import webdriver
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
import os
import new
import json
......@@ -95,7 +96,11 @@ class SeleniumTests(LiveServerTestCase):
cls.driver.quit()
def test_login(self):
self.driver.get('{}{}'.format(self.live_server_url, reverse('login')))
# open home page
self.driver.get('{}{}'.format(self.live_server_url, reverse('home')))
# login page
self.driver.find_element_by_id('login-button').click()
username_input = self.driver.find_element_by_id('id_username')
username_input.send_keys("myuser")
......@@ -106,6 +111,27 @@ class SeleniumTests(LiveServerTestCase):
# We should end up on login page as user was invalid
self.driver.find_element_by_name('username')
# Do proper login with new user
user = User.objects.create_user(
'testuser',
'noreply@weblate.org',
'testpassword'
)
username_input = self.driver.find_element_by_id('id_username')
username_input.send_keys('testuser')
password_input = self.driver.find_element_by_id('id_password')
password_input.send_keys('testpassword')
self.driver.find_element_by_xpath('//input[@value="Login"]').click()
# Load profile
self.driver.find_element_by_id('profile-button').click()
# Finally logout
self.driver.find_element_by_id('logout-button').click()
# We should be back on login page
self.driver.find_element_by_id('id_username')
# What other platforms we want to test
EXTRA_PLATFORMS = {
......
......@@ -37,13 +37,13 @@
<nav>
<ul class="menu-float">
{% if user.is_authenticated %}
<li><a class="button" href="{% url 'profile' %}">{% blocktrans with user.get_profile.get_user_display as name %}Logged in as {{ name }}{% endblocktrans %}</a></li>
<li><a class="button" href="{% url 'logout' %}">{% trans "Logout" %}</a></li>
<li><a class="button" id="profile-button" href="{% url 'profile' %}">{% blocktrans with user.get_profile.get_user_display as name %}Logged in as {{ name }}{% endblocktrans %}</a></li>
<li><a class="button" id="logout-button" href="{% url 'logout' %}">{% trans "Logout" %}</a></li>
{% else %}
{% if registration_open %}
<li><a class="button" href="{% url 'register' %}">{% trans "Register" %}</a></li>
<li><a class="button" id="register-button" href="{% url 'register' %}">{% trans "Register" %}</a></li>
{% endif %}
<li><a class="button" href="{% url 'login' %}{% if not skip_next %}?next={{ current_url }}{% endif %}">{% trans "Login" %}</a></li>
<li><a class="button" id="login-button" href="{% url 'login' %}{% if not skip_next %}?next={{ current_url }}{% endif %}">{% trans "Login" %}</a></li>
{% endif %}
</ul>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment