servala-portal/src/tests/test_views.py
2025-03-24 11:28:52 +01:00

46 lines
1.4 KiB
Python

import pytest
@pytest.mark.parametrize(
"url,redirect",
(
("/", "/accounts/login/?next=/"),
("/accounts/profile/", "/accounts/login/?next=/accounts/profile/"),
),
)
def test_root_view_redirects_valid_urls(client, url, redirect):
response = client.get(url)
assert response.status_code == 302
assert response.url == redirect
def test_root_view_invalid_urls_404(client):
response = client.get("/foobarbaz/")
assert response.status_code == 404
@pytest.mark.django_db
def test_owner_can_access_dashboard(client, org_owner, organization):
client.force_login(org_owner)
response = client.get(organization.urls.base)
assert response.status_code == 200
assert organization.name in response.content.decode()
@pytest.mark.django_db
def test_user_cannot_see_other_organization(client, org_owner, other_organization):
client.force_login(org_owner)
response = client.get(other_organization.urls.base)
assert response.status_code == 403
assert other_organization.name not in response.content.decode()
@pytest.mark.django_db
def test_organization_linked_in_sidebar(
client, org_owner, organization, other_organization
):
client.force_login(org_owner)
response = client.get("/", follow=True)
assert response.status_code == 200
assert organization.name in response.content.decode()
assert other_organization.name not in response.content.decode()