From ee96c8cb5f6dbdeadad3ae6a1096519b23727ec7 Mon Sep 17 00:00:00 2001 From: laurejablonski Date: Sat, 17 May 2025 00:04:29 +0200 Subject: [PATCH] test: answer controller frontend --- .../controllers/answers-controller.test.ts | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 frontend/tests/controllers/answers-controller.test.ts diff --git a/frontend/tests/controllers/answers-controller.test.ts b/frontend/tests/controllers/answers-controller.test.ts new file mode 100644 index 00000000..32adf28e --- /dev/null +++ b/frontend/tests/controllers/answers-controller.test.ts @@ -0,0 +1,33 @@ +import { describe, it, expect, beforeEach } from "vitest"; +import { AnswerController } from "../../src/controllers/answers"; +import { Language } from "@dwengo-1/common/util/language"; + +describe("AnswerController Tests", () => { + let controller: AnswerController; + + beforeEach(() => { + const loiDTO = { + hruid: "u_test_multiple_choice", + language: Language.English, + version: 1, + }; + const questionId = { learningObjectIdentifier: loiDTO, sequenceNumber: 1 }; + controller = new AnswerController(questionId); + }); + + it("should fetch all answers", async () => { + const result = await controller.getAll(true); + expect(result).toHaveProperty("answers"); + expect(Array.isArray(result.answers)).toBe(true); + expect(result.answers.length).toBeGreaterThan(0); + }); + + it("should fetch an answer by sequencenumber", async () => { + const answerNumber = 1; // Example sequence number + const result = await controller.getBy(answerNumber); + expect(result).toHaveProperty("answer"); + expect(result.answer).toHaveProperty("sequenceNumber", answerNumber); + }); +}); + +