feat: moved users views to web app

This commit is contained in:
2024-11-30 13:22:09 +01:00
parent 500886aacd
commit e40cdee31b
14 changed files with 121 additions and 128 deletions
-98
View File
@@ -1,98 +0,0 @@
from django.contrib.auth import get_user_model
from django.shortcuts import reverse
from rest_framework import status
from rest_framework.test import APITestCase
User = get_user_model()
class TestLogin(APITestCase):
def setUp(self) -> None:
self.password = "theonering"
self.user = User.objects.create(
username="sauron",
email="sauron@mordor.middleearth",
)
self.user.set_password(self.password)
self.user.save()
def test_login(self):
response = self.client.post(
reverse("users:login"),
{
"username": self.user.username,
"password": self.password,
},
)
assert response.status_code == status.HTTP_302_FOUND
assert response.url == reverse("web:index")
def test_login_get(self):
response = self.client.get(reverse("users:login"))
assert response.status_code == status.HTTP_200_OK
def test_login_already_logged_in(self):
response = self.client.post(
reverse("users:login"),
{
"username": self.user.username,
"password": self.password,
},
)
assert response.status_code == status.HTTP_302_FOUND
assert response.url == reverse("web:index")
response = self.client.get(reverse("users:login"))
assert response.status_code == status.HTTP_302_FOUND
assert response.url == reverse("web:index")
def test_login_failed(self):
response = self.client.post(
reverse("users:login"),
{
"username": self.user.username,
"password": "wrongpassword",
},
)
assert response.status_code == status.HTTP_400_BAD_REQUEST
def test_login_then_logout(self):
response = self.client.post(
reverse("users:login"),
{
"username": self.user.username,
"password": self.password,
},
)
assert response.status_code == status.HTTP_302_FOUND
assert response.url == reverse("web:index")
response = self.client.post(reverse("users:logout"))
assert response.status_code == status.HTTP_302_FOUND
assert response.url == reverse("web:index")
def test_logout_already_logged_out(self):
response = self.client.post(reverse("users:logout"))
assert response.status_code == status.HTTP_302_FOUND
assert response.url == reverse("web:index")
def test_login_then_get_logout(self):
response = self.client.post(
reverse("users:login"),
{
"username": self.user.username,
"password": self.password,
},
)
assert response.status_code == status.HTTP_302_FOUND
assert response.url == reverse("web:index")
response = self.client.get(reverse("users:logout"))
assert response.status_code == status.HTTP_302_FOUND
assert response.url == reverse("web:index")