Files
penracourses/rad/tests/test_scores_stats_bug.py
Ross fa98541e31 .
2026-07-06 22:06:58 +01:00

63 lines
1.8 KiB
Python

import pytest
from django.urls import reverse
@pytest.fixture
def logged_in_admin(client, django_user_model):
admin = django_user_model.objects.create_superuser(
username="admin",
email="admin@example.com",
password="adminpassword"
)
client.force_login(admin)
return admin
@pytest.mark.django_db
def test_physics_stats_only_no_attribute_error(client, logged_in_admin):
from physics.models import Exam, Question, UserAnswer
exam = Exam.objects.create(name="Physics Test Exam", exam_mode=True)
exam.author.add(logged_in_admin)
question = Question.objects.create(
stem="stem",
a="a", a_answer=True,
b="b", b_answer=False,
c="c", c_answer=True,
d="d", d_answer=False,
e="e", e_answer=True,
)
question.exams.add(exam)
UserAnswer.objects.create(
question=question,
exam=exam,
a=True, b=False, c=True, d=False, e=True,
cid=1
)
url = reverse("physics:exam_scores_all", kwargs={"pk": exam.pk})
response = client.get(f"{url}?stats_only=true")
assert response.status_code == 200
@pytest.mark.django_db
def test_sbas_stats_only_no_attribute_error(client, logged_in_admin):
from sbas.models import Exam, Question, UserAnswer
exam = Exam.objects.create(name="SBAs Test Exam", exam_mode=True)
exam.author.add(logged_in_admin)
question = Question.objects.create(
stem="stem",
best_answer="A",
)
question.exams.add(exam)
UserAnswer.objects.create(
question=question,
exam=exam,
answer="A",
cid=1
)
url = reverse("sbas:exam_scores_all", kwargs={"pk": exam.pk})
response = client.get(f"{url}?stats_only=true")
assert response.status_code == 200