| | |
| | | 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) |
| | | }) |
| | | |
| | | }) |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |