feat: restrict user answer compaction to admin users and update related tests

This commit is contained in:
Ross
2026-07-06 09:43:01 +01:00
parent daebdc1844
commit e56c1f2d0f
7 changed files with 53 additions and 45 deletions
+5 -6
View File
@@ -256,15 +256,14 @@ def test_exams(db, client):
res = client.post(reverse("global_exam_answers_submit"), data=post_json)
json_res = json.loads(res.content)
assert json_res["success"] == False
assert json_res["error"] == "Invalid data"
assert json_res["error"] in ("Invalid data", "user / cid mismatch")
# Rapid answers currently send a seperate object for each component
valid_answers = []
valid_answers_extra = []
for questions in exam_json["questions"]:
for qid in questions:
for qid in exam_json["questions"]:
post_data = {
"eid": exam_json["eid"],
"cid": post_cid,
@@ -340,7 +339,7 @@ def test_exams(db, client):
)
assert search_exam
assert str(exam) in str(search_exam)
assert search_exam.find("a", string="Start")
assert len(search_exam.find("button", {"class": "start-button"})) > 0
results_exam = (
cid_scores_soup.find("div", {"id": "exam-results"})
@@ -353,9 +352,9 @@ def test_exams(db, client):
results_exam
) # It should not be published yet
else:
search_exam = cid_scores_soup.find("a", href=exam.get_take_url())
search_exam = cid_scores_soup.find("a", href=exam.get_take_url_exam_mode())
assert search_exam
assert search_exam.string == "Start"
assert search_exam.find("button").string == "Start"
results_exam = cid_scores_soup.find(
"a",