Skip to content

Commit

Permalink
#99 splitted out account urls
Browse files Browse the repository at this point in the history
  • Loading branch information
StegSchreck committed Dec 11, 2016
1 parent 1fde428 commit 7e159c0
Show file tree
Hide file tree
Showing 13 changed files with 91 additions and 84 deletions.
14 changes: 14 additions & 0 deletions core/account_urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from django.conf.urls import url

import core.views.account_views
import core.views.settings_views
import core.views.trigger_parsing_views

app_name = 'account'
urlpatterns = [
url(r'^register/?$', core.views.account_views.register_view, name='register'),
url(r'^login/?$', core.views.account_views.login_view, name='login'),
url(r'^$', core.views.account_views.account_view, name='home'),
url(r'^logout/?$', core.views.account_views.logout_view, name='logout'),
url(r'^settings/?$', core.views.settings_views.settings_view, name='settings'),
]
6 changes: 3 additions & 3 deletions core/templates/core/account/login.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{% block content %}

<h1 class="page-header">Login</h1>
<form method="post" action="{% url 'core:login' %}">
<form method="post" action="{% url 'core:account:login' %}">
{% csrf_token %}
<div class="form-group">
<label for="username">Benutzername</label>
Expand All @@ -17,6 +17,6 @@ <h1 class="page-header">Login</h1>
</form>
<br><br>
<p>
Du hast noch keinen Account? <a href="{% url 'core:register' %}">Hier kannst du dich registrieren</a>.
Du hast noch keinen Account? <a href="{% url 'core:account:register' %}">Hier kannst du dich registrieren</a>.
</p>
{% endblock %}
{% endblock %}
6 changes: 3 additions & 3 deletions core/templates/core/account/register.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<h1>Registrierung</h1>

{% if registered %}
<strong>Vielen Dank für die Registrierung!</strong> <a href="{% url 'core:login' %}">Hier geht's zum Login</a>.
<strong>Vielen Dank für die Registrierung!</strong> <a href="{% url 'core:account:login' %}">Hier geht's zum Login</a>.
{% else %}
<form id="user_form" method="post" action="{% url 'core:register' %}">
<form id="user_form" method="post" action="{% url 'core:account:register' %}">

{% csrf_token %}

Expand Down Expand Up @@ -63,7 +63,7 @@ <h1>Registrierung</h1>
</form>
<br><br>
<p>
Du hast bereits einen Account bei uns? <a href="{% url 'core:login' %}">Hier geht's zum Login</a>.
Du hast bereits einen Account bei uns? <a href="{% url 'core:account:login' %}">Hier geht's zum Login</a>.
</p>
{% endif %}
{% endblock %}
4 changes: 2 additions & 2 deletions core/templates/core/account/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ <h4 class="panel-title">
</div>
<div id="collapseAccountData" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingAccountData">
<div class="panel-body">
<form id="user_form" method="post" action="{% url 'core:settings' %}">
<form id="user_form" method="post" action="{% url 'core:account:settings' %}">

{% csrf_token %}

Expand Down Expand Up @@ -62,7 +62,7 @@ <h4 class="panel-title">
</div>
<div id="collapseOFMData" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOFMData">
<div class="panel-body">
<form id="ofm_user_form" method="post" action="{% url 'core:settings' %}">
<form id="ofm_user_form" method="post" action="{% url 'core:account:settings' %}">

{% csrf_token %}

Expand Down
12 changes: 6 additions & 6 deletions core/templates/core/includes/navbar.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,24 @@
<div class="well bs-sidebar" id="sidebar">
<ul class="nav nav-pills nav-stacked">
<li>
<a href="{% url 'core:home' %}">
<a href="{% url 'core:account:home' %}">
<span class="glyphicon glyphicon-home"></span> Home
</a>
</li>
{% if not user.is_authenticated %}
<li>
<a href="{% url 'core:register' %}">
<a href="{% url 'core:account:register' %}">
<span class="glyphicon glyphicon-pencil"></span> Registrieren
</a>
</li>
<li>
<a href="{% url 'core:login' %}">
<a href="{% url 'core:account:login' %}">
<span class="glyphicon glyphicon-log-in"></span> Login
</a>
</li>
{% else %}
<li>
<a href="{% url 'core:account' %}">
<a href="{% url 'core:account:home' %}">
<span class="glyphicon glyphicon-user"></span> Mein Account
</a>
</li>
Expand Down Expand Up @@ -66,13 +66,13 @@
{% endif %}

<li>
<a href="{% url 'core:settings' %}">
<a href="{% url 'core:account:settings' %}">
<span class="glyphicon glyphicon-cog"></span> Einstellungen
</a>
</li>

<li>
<a href="{% url 'core:logout' %}">
<a href="{% url 'core:account:logout' %}">
<span class="glyphicon glyphicon-log-out"></span> Logout
</a>
</li>
Expand Down
6 changes: 3 additions & 3 deletions core/tests/unit/test_home_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ def test_home_page(self):
self.assertEqual(response.status_code, 200)

def test_register_page(self):
response = self.client.get('/register')
response = self.client.get('/account/register')
self.assertEqual(response.status_code, 200)

def test_login_page(self):
response = self.client.get('/login')
response = self.client.get('/account/login')
self.assertEqual(response.status_code, 200)

def test_account_page(self):
response = self.client.get('/account')
self.assertEqual(response.status_code, 302)
self.assertEqual(response.status_code, 301)
28 changes: 14 additions & 14 deletions core/tests/unit/views/test_login_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,66 +9,66 @@ def setUp(self):
self.user = OFMUser.objects.create_user('temporary', '[email protected]', 'temporary')

def test_login_redirects_for_unknown_user(self):
response = self.client.post(reverse('core:login'), {'username': 'john', 'password': 'smith'})
response = self.client.post(reverse('core:account:login'), {'username': 'john', 'password': 'smith'})
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:login'))
self.assertRedirects(response, reverse('core:account:login'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_login_with_correct_credentials(self):
response = self.client.post(reverse('core:login'), {'username': 'temporary', 'password': 'temporary'})
response = self.client.post(reverse('core:account:login'), {'username': 'temporary', 'password': 'temporary'})
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'core/account/home.html')
self.assertTrue(response.wsgi_request.user.is_authenticated())

def test_login_with_wrong_password(self):
response = self.client.post(reverse('core:login'), {'username': 'temporary', 'password': 'incorrect'})
response = self.client.post(reverse('core:account:login'), {'username': 'temporary', 'password': 'incorrect'})
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:login'))
self.assertRedirects(response, reverse('core:account:login'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_login_already_logged_in(self):
self.client.login(username='temporary', password='temporary')
response = self.client.post(reverse('core:login'), {'username': 'temporary', 'password': 'temporary'})
response = self.client.post(reverse('core:account:login'), {'username': 'temporary', 'password': 'temporary'})
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'core/account/home.html')
self.assertTrue(response.wsgi_request.user.is_authenticated())

def test_login_with_inactive_account(self):
OFMUser.objects.create_user('disabled', '[email protected]', 'disabled', is_active=False)
response = self.client.post(reverse('core:login'), {'username': 'disabled', 'password': 'disabled'})
response = self.client.post(reverse('core:account:login'), {'username': 'disabled', 'password': 'disabled'})
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:login'))
self.assertRedirects(response, reverse('core:account:login'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_call_login_page_when_already_logged_in(self):
self.client.login(username='temporary', password='temporary')
response = self.client.get(reverse('core:login'))
response = self.client.get(reverse('core:account:login'))
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'core/account/home.html')
self.assertTrue(response.wsgi_request.user.is_authenticated())

def test_logout_when_logged_in(self):
self.client.login(username='temporary', password='temporary')
response = self.client.get(reverse('core:logout'))
response = self.client.get(reverse('core:account:logout'))
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:home'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_logout_when_not_logged_in(self):
response = self.client.get(reverse('core:logout'))
response = self.client.get(reverse('core:account:logout'))
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:home'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_view_account_when_logged_in(self):
self.client.login(username='temporary', password='temporary')
response = self.client.get(reverse('core:account'))
response = self.client.get(reverse('core:account:home'))
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'core/account/home.html')
self.assertTrue(response.wsgi_request.user.is_authenticated())

def test_view_account_when_not_logged_in(self):
response = self.client.get(reverse('core:account'))
response = self.client.get(reverse('core:account:home'))
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:login'))
self.assertRedirects(response, reverse('core:account:login'))
self.assertFalse(response.wsgi_request.user.is_authenticated())
26 changes: 13 additions & 13 deletions core/tests/unit/views/test_registration_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,62 +15,62 @@ def setUp(self):
)

def test_register_new_account(self):
response = self.client.post(reverse('core:register'),
response = self.client.post(reverse('core:account:register'),
{'username': 'new', 'password': '1234', 'password2': '1234',
'email': '[email protected]',
'ofm_username': 'abc', 'ofm_password': 'def', 'ofm_password2': 'def'})
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:login'))
self.assertRedirects(response, reverse('core:account:login'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_register_with_existing_username(self):
response = self.client.post(reverse('core:register'),
response = self.client.post(reverse('core:account:register'),
{'username': 'temporary', 'password': '1234', 'password2': '1234',
'email': '[email protected]',
'ofm_username': 'abc', 'ofm_password': 'def', 'ofm_password2': 'def'})
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:register'))
self.assertRedirects(response, reverse('core:account:register'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_register_with_unmatching_passwords(self):
response = self.client.post(reverse('core:register'),
response = self.client.post(reverse('core:account:register'),
{'username': 'new', 'password': '1234', 'password2': '12345',
'email': '[email protected]',
'ofm_username': 'abc', 'ofm_password': 'def', 'ofm_password2': 'def'})
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:register'))
self.assertRedirects(response, reverse('core:account:register'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_register_with_unmatching_ofm_passwords(self):
response = self.client.post(reverse('core:register'),
response = self.client.post(reverse('core:account:register'),
{'username': 'new', 'password': '1234', 'password2': '1234',
'email': '[email protected]',
'ofm_username': 'abc', 'ofm_password': 'def', 'ofm_password2': 'ghj'})
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:register'))
self.assertRedirects(response, reverse('core:account:register'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_register_with_already_registered_ofm_username(self):
response = self.client.post(reverse('core:register'),
response = self.client.post(reverse('core:account:register'),
{'username': 'new', 'password': '1234', 'password2': '1234',
'email': '[email protected]',
'ofm_username': 'ofm', 'ofm_password': 'def', 'ofm_password2': 'def'})
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:register'))
self.assertRedirects(response, reverse('core:account:register'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_register_with_already_registered_email(self):
response = self.client.post(reverse('core:register'),
response = self.client.post(reverse('core:account:register'),
{'username': 'new', 'password': '1234', 'password2': '1234',
'email': '[email protected]',
'ofm_username': 'new', 'ofm_password': 'def', 'ofm_password2': 'def'})
self.assertEqual(response.status_code, 302)
self.assertRedirects(response, reverse('core:register'))
self.assertRedirects(response, reverse('core:account:register'))
self.assertFalse(response.wsgi_request.user.is_authenticated())

def test_register_when_already_logged_in(self):
self.client.login(username='temporary', password='temporary')
response = self.client.post(reverse('core:register'),
response = self.client.post(reverse('core:account:register'),
{'username': 'new', 'password': '1234', 'password2': '1234',
'email': '[email protected]',
'ofm_username': 'new', 'ofm_password': 'def', 'ofm_password2': 'def'})
Expand Down
Loading

0 comments on commit 7e159c0

Please sign in to comment.