migrations run for lyric models; authentication & views & their tests now account more fully for uuid over email as pk
This commit is contained in:
@@ -47,10 +47,10 @@ class GetUserTest(TestCase):
|
||||
def test_gets_user_by_uuid(self):
|
||||
User.objects.create(email="fantaman@example.com")
|
||||
desired_user = User.objects.create(email="discoman@example.com")
|
||||
found_user = PasswordlessAuthenticationBackend().get_user("discoman@example.com")
|
||||
found_user = PasswordlessAuthenticationBackend().get_user(desired_user.id)
|
||||
self.assertEqual(found_user, desired_user)
|
||||
|
||||
def test_returns_None_if_no_user_with_that_email(self):
|
||||
self.assertIsNone(
|
||||
PasswordlessAuthenticationBackend().get_user("discoman@example.com")
|
||||
PasswordlessAuthenticationBackend().get_user(999)
|
||||
)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from django.contrib import auth
|
||||
from django.test import TestCase
|
||||
from unittest import mock
|
||||
from ..models import Token
|
||||
from ..models import Token, User
|
||||
|
||||
class SendLoginEmailViewTest(TestCase):
|
||||
def test_redirects_to_home_page(self):
|
||||
@@ -58,3 +59,14 @@ class LoginViewTest(TestCase):
|
||||
def test_redirects_to_home_page(self):
|
||||
response = self.client.get("/apps/lyric/login?token=abc123")
|
||||
self.assertRedirects(response, "/")
|
||||
|
||||
def test_logs_in_if_given_valid_token(self):
|
||||
anon_user = auth.get_user(self.client)
|
||||
self.assertEqual(anon_user.is_authenticated, False)
|
||||
|
||||
token = Token.objects.create(email="discoman@example.com")
|
||||
self.client.get(f"/apps/lyric/login?token={token.uid}", follow=True)
|
||||
|
||||
user = auth.get_user(self.client)
|
||||
self.assertEqual(user.is_authenticated, True)
|
||||
self.assertEqual(user.email, "discoman@example.com")
|
||||
|
||||
Reference in New Issue
Block a user