From a19a1e6c1318d02b96b6017634ac6da4c086c156 Mon Sep 17 00:00:00 2001 From: Anys Date: Wed, 22 Apr 2026 16:59:52 +0200 Subject: [PATCH] test(api): remove enseignements unit tests Unit tests removed as they only used mocks without real value. --- tests/unit/enseignements_test.ts | 197 ------------------------------- 1 file changed, 197 deletions(-) delete mode 100644 tests/unit/enseignements_test.ts diff --git a/tests/unit/enseignements_test.ts b/tests/unit/enseignements_test.ts deleted file mode 100644 index 17bff52..0000000 --- a/tests/unit/enseignements_test.ts +++ /dev/null @@ -1,197 +0,0 @@ -import { assertEquals, assertExists } from "@std/assert"; -import { getFetchCalls, mockFetch, restoreFetch } from "../helpers/api_mock.ts"; -import { createMockDb } from "../helpers/db_mock.ts"; -import { - ERROR_CONFLICT, - ERROR_NOT_FOUND, - enseignements, - type Enseignement, -} from "../helpers/fixtures.ts"; - -Deno.test("enseignements - POST 201 creates new enseignement", async () => { - const newEnseignement: Enseignement = { - idProf: 1, - idModule: "JIN705C", - idPromo: "4AFISE25/26", - }; - - mockFetch({ - "/enseignements": { - method: "POST", - status: 201, - body: newEnseignement, - }, - }); - - try { - const res = await fetch("http://localhost/api/enseignements", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(newEnseignement), - }); - assertEquals(res.status, 201); - const data = await res.json(); - assertEquals(data.idProf, 1); - assertEquals(data.idModule, "JIN705C"); - assertEquals(data.idPromo, "4AFISE25/26"); - } finally { - restoreFetch(); - } -}); - -Deno.test("enseignements - POST 409 conflict on duplicate", async () => { - mockFetch({ - "/enseignements": { - method: "POST", - status: 409, - body: ERROR_CONFLICT, - }, - }); - - try { - const res = await fetch("http://localhost/api/enseignements", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ - idProf: 1, - idModule: "JIN702C", - idPromo: "4AFISE25/26", - }), - }); - assertEquals(res.status, 409); - const data = await res.json(); - assertEquals(data.error, "Ressource déjà existante"); - } finally { - restoreFetch(); - } -}); - -Deno.test( - "enseignements - GET 200 returns enseignement by composite key", - async () => { - const enseignement = enseignements[0]; - const path = "/enseignements/1/JIN702C/4AFISE25%2F26"; - - mockFetch({ - [path]: { - status: 200, - body: enseignement, - }, - }); - - try { - const res = await fetch( - "http://localhost/api/enseignements/1/JIN702C/4AFISE25%2F26", - ); - assertEquals(res.status, 200); - const data = await res.json(); - assertEquals(data.idProf, 1); - assertEquals(data.idModule, "JIN702C"); - assertEquals(data.idPromo, "4AFISE25/26"); - } finally { - restoreFetch(); - } - }, -); - -Deno.test("enseignements - GET 404 when enseignement not found", async () => { - mockFetch({ - "/enseignements/999/JIN999/UNKNOWN": { - status: 404, - body: ERROR_NOT_FOUND, - }, - }); - - try { - const res = await fetch( - "http://localhost/api/enseignements/999/JIN999/UNKNOWN", - ); - assertEquals(res.status, 404); - const data = await res.json(); - assertEquals(data.error, "Ressource introuvable"); - } finally { - restoreFetch(); - } -}); - -Deno.test("enseignements - DELETE 204 removes enseignement", async () => { - const path = "/enseignements/1/JIN702C/4AFISE25%2F26"; - - mockFetch({ - [path]: { - method: "DELETE", - status: 204, - }, - }); - - try { - const res = await fetch( - "http://localhost/api/enseignements/1/JIN702C/4AFISE25%2F26", - { - method: "DELETE", - }, - ); - assertEquals(res.status, 204); - assertEquals(res.body, null); - } finally { - restoreFetch(); - } -}); - -Deno.test( - "enseignements - DELETE 404 when enseignement not found", - async () => { - mockFetch({ - "/enseignements/999/JIN999/UNKNOWN": { - method: "DELETE", - status: 404, - body: ERROR_NOT_FOUND, - }, - }); - - try { - const res = await fetch( - "http://localhost/api/enseignements/999/JIN999/UNKNOWN", - { - method: "DELETE", - }, - ); - assertEquals(res.status, 404); - const data = await res.json(); - assertEquals(data.error, "Ressource introuvable"); - } finally { - restoreFetch(); - } - }, -); - -Deno.test("enseignements - mockDb operations", () => { - const db = createMockDb({ tables: { enseignements: [...enseignements] } }); - - // Test findOne - const found = db.findOne( - "enseignements", - (r) => - r.idProf === 1 && r.idModule === "JIN702C" && r.idPromo === "4AFISE25/26", - ); - assertExists(found); - assertEquals(found.idProf, 1); - - // Test insert - const newEnseignement: Enseignement = { - idProf: 3, - idModule: "JIN705C", - idPromo: "4AFISE25/26", - }; - db.insert("enseignements", newEnseignement); - assertEquals(db.getTable("enseignements").length, 4); - - // Test deleteWhere - const deleted = db.deleteWhere( - "enseignements", - (r) => - r.idProf === 1 && r.idModule === "JIN702C" && r.idPromo === "4AFISE25/26", - ); - assertEquals(deleted, 1); - assertEquals(db.getTable("enseignements").length, 3); -});