diff --git a/smash/web/models.py b/smash/web/models.py index 1a4c1f6214b3cc5726eb78f84e3666e3cadba603..4fd299bd773d79422e0873495ca99fd5cdec4d1e 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 0000000000000000000000000000000000000000..4b5970a9390218cdf8e928a95e197b638bb19898 --- /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)