From 6bc1a01a5aee228fa01d4a45959d0b99b38663f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Valentin=20Grou=C3=A8s?= <valentin.groues@uni.lu> Date: Wed, 22 Mar 2017 11:16:41 +0100 Subject: [PATCH] solve issue preventing workers with non ascii characters to login - #76 --- smash/web/models.py | 2 +- smash/web/tests/test_view_login.py | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 smash/web/tests/test_view_login.py diff --git a/smash/web/models.py b/smash/web/models.py index 1a4c1f62..4fd299bd 100644 --- a/smash/web/models.py +++ b/smash/web/models.py @@ -408,7 +408,7 @@ class Worker(models.Model): else: # For get_*_display, see: # https://docs.djangoproject.com/en/1.10/topics/db/models/#field-options - return str(person[0]), person[0].get_role_display() + return unicode(person[0]), person[0].get_role_display() def __str__(self): return "%s %s" % (self.first_name, self.last_name) diff --git a/smash/web/tests/test_view_login.py b/smash/web/tests/test_view_login.py new file mode 100644 index 00000000..4b5970a9 --- /dev/null +++ b/smash/web/tests/test_view_login.py @@ -0,0 +1,24 @@ +# coding=utf-8 +from django.test import Client +from django.test import TestCase +from django.urls import reverse + +from functions import create_user +from web.models import Worker + + +class TestLoginView(TestCase): + def test_login(self): + self.client = Client() + user = create_user() + password = 'top_secret' + username = user.username + login_url = reverse('web.views.login') + response = self.client.post(login_url, data={'username': username, 'password': password}, follow=True) + self.assertEqual(200, response.status_code) + worker = Worker.get_by_user(user) + self.assertIsNotNone(worker) + worker.last_name = 'Grouès' + worker.save() + response = self.client.post(login_url, data={'username': username, 'password': password}, follow=True) + self.assertEqual(200, response.status_code) -- GitLab