REST Service for POPCORN - ILIAS
alex
2025-11-27 a8c152f255665bc4eae00cc5a7f266cc9e7ffa51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
const expect = require("chai").expect
 
const settings = require("../settings")
const libIlias = require("../lib/libIlias")
const db = require("../lib/db")
const testData = require("./data")
 
/////////////////////////////////////////////////////////////////////////
 
describe("The functions for Course Admins", function () {
 
   beforeEach(async function () {
   })
 
   afterEach(async function () {
   })
 
   describe("the function getCourseAdmins()", function () {
      it("should get the Admins of all courses", async function () {
         const res = await db.getCourseAdmins()
         console.table(res)
         expect(res).to.be.a("array")
         for (const item of res) {
            expect(item).to.have.property("kurs_obj_id").and.to.be.a("number")
            expect(item).to.have.property("kurs_ref_id").and.to.be.a("number")
            expect(item).to.have.property("usr_id").and.to.be.a("number")
            expect(item).to.have.property("login").and.to.be.a("string")
            expect(item).to.have.property("firstname").and.to.be.a("string")
            expect(item).to.have.property("lastname").and.to.be.a("string")
            expect(item).to.have.property("title").and.to.be.a("string")
         }
      })
   })
 
   describe("the function getCoursesWithNoAdmins()", function () {
      it("should return all courses without a single admin member", async function () {
         const res = await db.getCoursesWithNoAdmins()
         console.table(res)
         expect(res).to.be.a("array")
         for (const item of res) {
            expect(item).to.have.property("obj_id").and.to.be.a("number")
            expect(item).to.have.property("ref_id").and.to.be.a("number")
            expect(item).to.have.property("numTn").and.to.be.a("number")
            expect(item).to.have.property("title").and.to.be.a("string")
         }
      })
   })
 
})
 
/////////////////////////////////////////////////////////////////////////