Refactor exam image creation and enhance supervisor management tests

This commit is contained in:
Ross
2026-06-15 13:13:14 +01:00
parent a573ed78a4
commit 1b3b21a6f5
2 changed files with 57 additions and 36 deletions
+17 -7
View File
@@ -16,6 +16,7 @@ from physics.views import GenericExamViews as PhysicExamViews
from anatomy.views import GenericExamViews as AnatomyExamViews
from generic.models import Supervisor
from loguru import logger
APP_NAMES = ("rapids", "anatomy", "longs", "physics", "sbas")
@@ -193,7 +194,13 @@ def test_index(client, create_superuser, exam_views, django_user_model):
)
assert json.loads(add_user_response.content)["status"] == "success"
assert add_user_response.status_code == 200
assert add_user_response.headers["Content-Type"].startswith("text/html")
assert add_user_response.headers["HX-Trigger"] == json.dumps(
{"user_toggled": {"pk": basic_user.pk, "added": True}}
)
assert e1.valid_user_users.filter(pk=basic_user.pk).exists()
assert f'data-pk="{basic_user.pk}"' in add_user_response.content.decode()
client.logout()
@@ -277,7 +284,7 @@ def test_cid_management(client, create_cid_manager, django_user_model, create_ba
def create_supervisor(db, faker):
return Supervisor.objects.create(email=faker.email(), name=faker.name())
return Supervisor.objects.create(email=faker.email(), name=faker.name(), active=True)
def test_supervisor_management(db, faker, client, create_cid_manager, django_user_model, create_basic_user ):
s1 = create_supervisor(db, faker)
@@ -306,7 +313,7 @@ def test_supervisor_management(db, faker, client, create_cid_manager, django_use
assert response.status_code == 200
soup = BeautifulSoup(response.content, "html.parser")
assert len(soup.find(id="supervisor-table").find("tbody").find_all("tr")) == 2
assert Supervisor.objects.count() == 2
response = client.get(reverse(f"generic:supervisor_detail", kwargs={"pk": s1.pk}))
soup = BeautifulSoup(response.content, "html.parser")
@@ -314,7 +321,7 @@ def test_supervisor_management(db, faker, client, create_cid_manager, django_use
assert soup.find(id="email").text == s1.email
new_email = "new@email.com"
response = client.post(reverse(f"generic:supervisor_edit", kwargs={"pk": s1.pk}), {"email":new_email, "name": s1.name})
response = client.post(reverse(f"generic:supervisor_edit", kwargs={"pk": s1.pk}), {"email":new_email, "name": s1.name, "active": s1.active})
soup = BeautifulSoup(response.content, "html.parser")
assert response.status_code == 302
@@ -331,17 +338,20 @@ def test_supervisor_management(db, faker, client, create_cid_manager, django_use
assert response.status_code == 200
soup = BeautifulSoup(response.content, "html.parser")
assert len(soup.find(id="supervisor-table").find("tbody").find_all("tr")) == 1
assert Supervisor.objects.filter(pk=s2.pk).exists() is False
assert Supervisor.objects.filter(pk=s1.pk).exists() is True
#assert len(soup.find(id="supervisor-list").find_all("li")) == 1
response = client.post(reverse(f"generic:supervisor_create"), {"email":faker.email(), "name": faker.name()})
response = client.post(reverse(f"generic:supervisor_create"), {"email":faker.email(), "name": faker.name(), "active": True})
assert response.status_code == 302
response = client.get(reverse(f"generic:supervisor"))
assert response.status_code == 200
soup = BeautifulSoup(response.content, "html.parser")
assert len(soup.find(id="supervisor-table").find("tbody").find_all("tr")) == 2
rows = soup.select('#supervisor-table > tbody > tr')
assert len(rows) == 2
assert Supervisor.objects.count() == 2
def test_privacy(db, client):