Skip to content

Commit 14ddd7b

Browse files
authored
Merge pull request #83 from AAdewunmi/chore/add-initial-ops-smoke-test
Chore/add initial ops smoke test
2 parents 13295ce + 24fbedc commit 14ddd7b

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

tests/test_ops_smoke.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# path: policylens/tests/test_ops_smoke.py
2+
"""
3+
Ops UI smoke tests.
4+
"""
5+
6+
from __future__ import annotations
7+
8+
import importlib
9+
10+
import pytest
11+
from django.conf import settings
12+
from django.contrib.auth import get_user_model
13+
from django.test import override_settings
14+
from django.urls import reverse
15+
16+
User = get_user_model()
17+
18+
19+
@pytest.mark.django_db
20+
def test_ops_home_redirects_to_queue_for_logged_in_user(client):
21+
"""Ops landing should redirect authenticated users to queue."""
22+
user = User.objects.create_user(username="ops_home_user", password="password123")
23+
client.force_login(user)
24+
25+
url = reverse("ops:home")
26+
resp = client.get(url)
27+
assert resp.status_code == 302
28+
assert resp.url == reverse("ops:queue")
29+
30+
31+
@pytest.mark.django_db
32+
def test_ops_queue_page_renders_for_logged_in_user(client):
33+
"""Queue page should be accessible and render expected content."""
34+
user = User.objects.create_user(username="ops_user", password="password123")
35+
client.force_login(user)
36+
37+
url = reverse("ops:queue")
38+
resp = client.get(url)
39+
assert resp.status_code == 200
40+
assert any(t.name == "ops/queue.html" for t in resp.templates)
41+
assert "Review queue" in resp.content.decode("utf-8")
42+
43+
44+
@override_settings(DEBUG=True)
45+
def test_root_urlpatterns_include_media_static_when_debug_true():
46+
"""Root URLConf should append media static patterns in DEBUG."""
47+
urls_module = importlib.import_module("policylens.config.urls")
48+
reloaded = importlib.reload(urls_module)
49+
media_prefix = settings.MEDIA_URL.lstrip("/")
50+
assert any(
51+
str(pattern.pattern).startswith(f"^{media_prefix}") for pattern in reloaded.urlpatterns
52+
)

0 commit comments

Comments
 (0)