Further basic integration testing

This commit is contained in:
Ross
2022-12-12 12:16:42 +00:00
parent a467f24e10
commit 73ebc838cd
9 changed files with 910 additions and 36 deletions
+10 -7
View File
@@ -25,7 +25,7 @@ from django.core.cache import cache
from django.urls import reverse_lazy, reverse
from django.http import Http404, JsonResponse
from django.http import Http404, HttpResponseBadRequest, JsonResponse
from django.http import HttpResponseRedirect, HttpResponse
from django_filters.views import FilterView
@@ -277,6 +277,13 @@ def exam_take(request, pk, sk, cid=None, passcode=None):
else:
answer = question.cid_user_answers.filter(user=request.user, exam=exam).first()
previous = -1
if sk > 0:
previous = sk - 1
next = sk + 1
if sk == exam_length - 1:
next = False
if request.method == "POST":
if answer:
form = CidUserAnswerForm(request.POST, instance=answer)
@@ -307,6 +314,8 @@ def exam_take(request, pk, sk, cid=None, passcode=None):
finish_url = "physics:exam_take_overview_user"
if "next" in request.POST:
if not next:
return HttpResponseBadRequest("Invalid request")
return redirect(take_url, sk=pos + 1, **kwargs)
elif "previous" in request.POST:
return redirect(take_url, sk=pos - 1, **kwargs)
@@ -317,12 +326,6 @@ def exam_take(request, pk, sk, cid=None, passcode=None):
else:
form = CidUserAnswerForm(instance=answer)
previous = -1
if sk > 0:
previous = sk - 1
next = sk + 1
if sk == exam_length - 1:
next = False
saved_answer = False
if answer is not None: