From 0eacd83446d0dd41fad1e9f8078a65e218565e54 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 20 Feb 2023 10:48:28 +0000 Subject: [PATCH] add simple packet test --- longs/models.py | 2 +- rapids/tests/test_urls.py | 30 +++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/longs/models.py b/longs/models.py index 7883fbe9..f3a58026 100644 --- a/longs/models.py +++ b/longs/models.py @@ -715,7 +715,7 @@ class Exam(ExamBase): "cached": False, "exam_type": "long", "exam_name": self.name, - "exam_mode": True, + "exam_mode": self.exam_mode, "exam_order": exam_order, "questions": exam_questions, "based": based, diff --git a/rapids/tests/test_urls.py b/rapids/tests/test_urls.py index ca9c252e..0c20d95d 100644 --- a/rapids/tests/test_urls.py +++ b/rapids/tests/test_urls.py @@ -23,7 +23,6 @@ EXAM_VIEWS = ( RapidExamViews, LongExamViews, SbaExamViews, - LongExamViews, PhysicExamViews, AnatomyExamViews, ) @@ -47,6 +46,11 @@ def set_up_exams(request, django_user_model, create_superuser): return request.param +@pytest.fixture(params=EXAM_VIEWS) +def set_up_packets(request): + e = request.param.Exam.objects.create(name="test packet", exam_mode=False, active=True) + return request.param + # @pytest.fixture # def create_exam(db): @@ -66,6 +70,28 @@ def test_index2(client, set_up_exams): == "2 exams found." ) + +def test_packet_json_access(db, client, set_up_packets): + """ + Simple test to check that json is retrievable from non exam mode packets + """ + if set_up_packets.app_name in JSON_APPS: + exam_id = set_up_packets.Exam.objects.get(name="test packet").pk + + response = client.get(reverse(f"{set_up_packets.app_name}:exam_json", args=[exam_id])) + assert response.status_code == 200 + + exam_json = json.loads(response.content) + + # Remove the s at the end of the app name + # TODO: unify this.... + #assert exam_json["eid"] == f"{set_up_packets.app_name/{exam_id}" + assert exam_json["eid"].split("/")[-1] == f"{exam_id}" + print(exam_json) + assert exam_json["exam_mode"] == False + assert exam_json["exam_name"] == "test packet" + assert len(exam_json["questions"]) == 0 + def test_overview(client, set_up_exams): client.login(username="admin", password="adminpassword") @@ -179,6 +205,4 @@ def test_index(client, create_superuser, exam_views, django_user_model): json_response = json.loads(response.content)["exams"] - print(json_response) - assert len(json_response) == 2 \ No newline at end of file