From 7a62193da9c9bb8f66c1e26cd1cecfc7925d6de0 Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Wed, 25 Jun 2025 06:59:23 +0000
Subject: [PATCH] GS-2169

---
 test/testImportIliasUser.js |   69 ++++++++++++++++++++++++----------
 1 files changed, 48 insertions(+), 21 deletions(-)

diff --git a/test/testImportIliasUser.js b/test/testImportIliasUser.js
index 19c2ea7..586ef06 100644
--- a/test/testImportIliasUser.js
+++ b/test/testImportIliasUser.js
@@ -2,15 +2,17 @@
 
 const settings = require("../settings")
 const libIlias = require("../lib/libIlias")
+const db = require("../lib/db")
 
 /////////////////////////////////////////////////////////////////////////
 
 describe("the function importIliasUser", function () {
 
+   let lastUserId = null
    const user = {
       // Action: "Insert",
-      login: "affoReloaded",
-      passwd: "test1234",
+      login: "123456789",
+      passwd: "123456789",
       passwd_type: "plain",
       firstname: "Adolfo",
       lastname: "de la Cruz",
@@ -18,30 +20,55 @@
       gender: "m",
       department: "Bananenpflücker",
       institution: "Globus Budapest",
-      roleIdGlobal: 4,
-      userDefinedField: [
-         {
-            name: "Markt",
-            value: "Markt UDF",
-         },
-         {
-            name: "Marktnummer",
-            value: "Marktnummer UDF",
-         },
-         {
-            name: "Personalnummer",
-            value: "Personalnummer UDF",
-         },
-      ],
+      role: 4, // assigned global role id
+      // udf_Markt: "Markt UDF",
+      udf: {
+         // ACHTUNG: Die Nummer enspricht der id in der Tabelle udf_definition und kann je nach Reihenfolge anders sein!
+         // wird in importIliasUser() aufgelöst aus dem Namen
+         // 1: "Markt UDF",
+         // 2: "Marktnummer UDF",
+         // 3: "Personal UDF",
+         "Markt": "Markt UDF 2",
+         "Marktnummer": "Marktnummer UDF 2",
+         "Personalnummer": "Personal UDF 2",
+      },
    }
+
+   beforeEach(async function () {
+
+   })
+
+   afterEach(async function () {
+      await deleteUser(lastUserId)
+   })
 
    it("should import a new user to ILIAS", async function () {
       const res = await libIlias.importIliasUser(user)
       console.dir(res, {depth:null})
-      // expect(res.method).to.equal("DELETE")
-      // expect(res.command).to.equal("deleteUser")
-      // expect(res.obj_id).to.equal(obj_id)
-      // expect(res.status).to.equal("ok")
+      expect(res).to.have.property("status").and.to.equal("ok")
+      expect(res.command).to.equal("importUser")
+      expect(res.usr_id).to.be.a("number").above(0)
+
+      const {usr_id} = res
+      lastUserId = usr_id
+      const user2 = await db.getUserByUserId(usr_id)
+      console.log(user2)
+      expect(user2).to.have.property("login").and.to.equal(user.login)
+      expect(user2).to.have.property("usr_id").and.to.equal(res.usr_id)
+
+      // const res2 = await libIlias.deleteUser(usr_id)
+      // console.log(res2)
+      // expect(res2).to.have.property("status").and.to.equal("ok")
+      // expect(res2).to.have.property("command").and.to.equal("deleteUser")
    })
 
 })
+
+/////////////////////////////////////////////////////////////////////////
+
+async function deleteUser (usr_id) {
+   const res2 = await libIlias.deleteUser(usr_id)
+   console.log(res2)
+   expect(res2).to.have.property("status").and.to.equal("ok")
+   expect(res2).to.have.property("command").and.to.equal("deleteUser")
+}

--
Gitblit v1.8.0