From 6138ffe99d016cc311f250bc1555b5403b8b1216 Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Thu, 08 Oct 2026 17:18:04 +0000
Subject: [PATCH] GS-2555
---
test/testAbmelden.js | 48 +++++++++++++++++++++++++-----------------------
1 files changed, 25 insertions(+), 23 deletions(-)
diff --git a/test/testAbmelden.js b/test/testAbmelden.js
index 5a44bc0..57b397d 100644
--- a/test/testAbmelden.js
+++ b/test/testAbmelden.js
@@ -1,46 +1,48 @@
const expect = require("chai").expect
+const _ = require("lodash")
-const settings = require("../settings")
const libIlias = require("../lib/libIlias")
const db = require("../lib/db")
const testData = require("./data")
/////////////////////////////////////////////////////////////////////////
-describe.skip("the function anmelden", function () {
+// Integration test against a real ILIAS instance.
+// Creates a temporary user, enrolls it via libIlias.anmelden() into an
+// existing course, verifies that libIlias.abmelden() removes the
+// membership, then cleans up.
+describe("the function abmelden", function () {
- const kurs = testData.kurs // TODO
- const user = testData.user
-
- let kursId = null
+ const courseId = testData.anmelden.obj_id
+ let user = null
let userId = null
beforeEach(async function () {
- // const {usr_id:userId} = await libIlias.importIliasUser(user)
- const userRes = await libIlias.importIliasUser(user)
- // const kursRes = await libIlias.
- console.log(data)
+ user = _.cloneDeep(testData.user)
+ const res = await libIlias.importIliasUser(user)
+ userId = res.usr_id
+ // precondition: the user must be enrolled
+ await libIlias.anmelden(userId, courseId)
})
afterEach(async function () {
- await libIlias.deleteUser(userId)
- // TODO delete kurs
+ if (!userId) return
+ // best effort cleanup (abmelden is idempotent)
+ await libIlias.abmelden(userId, courseId).catch(console.error)
+ await libIlias.deleteUser(userId).catch(console.error)
+ userId = null
})
- it("should import a new user to ILIAS", async function () {
- console.log("!111")
- console.error("finish test")
- return
-
- console.log("++abmelden", userId, kursId)
- const res = await libIlias.abmelden(userId, kursId)
- console.dir(res, {depth: null})
+ it("should remove the Teilnahme of a user", async function () {
+ const res = await libIlias.abmelden(userId, courseId)
expect(res).to.have.property("status").and.to.equal("ok")
- expect(res.command).to.equal("abmelden")
- expect(res.method).to.equal("DELETE")
+ expect(res).to.have.property("command").and.to.equal("abmelden")
+ expect(res).to.have.property("method").and.to.equal("DELETE")
+
+ const members = await db.getKursTeilnehmerByRole(courseId)
+ expect(members.map(m => m.usr_id)).to.not.include(userId)
})
})
/////////////////////////////////////////////////////////////////////////
-
--
Gitblit v1.8.0