From 3d646156c378c6182e55c673c118c23d53ff0a05 Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Mon, 17 Nov 2025 17:36:00 +0000
Subject: [PATCH] GS-2373

---
 test/testConnect.js |   49 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/test/testConnect.js b/test/testConnect.js
index 0f54a1d..8102de0 100644
--- a/test/testConnect.js
+++ b/test/testConnect.js
@@ -12,6 +12,10 @@
 
 describe("connection test", function () {
 
+   const urlS = settings.ilias.url
+   const urlD = new URL(urlS)
+   const url = urlD.origin
+
 
    beforeEach(async function () {
    })
@@ -21,10 +25,6 @@
 
    describe("the ILIAS URL", function () {
       it("should be accessible", async function () {
-         const urlS = settings.ilias.url
-         const urlD = new URL(urlS)
-         const url = urlD.origin
-
          const res = await fetch(url)
          expect(res.status).to.equal(200)
          expect(res.statusText.toUpperCase()).to.equal("OK")
@@ -33,8 +33,6 @@
          expect(text).to.contain("ILIAS")
       })
       it("should use https", async function () {
-         const urlS = settings.ilias.url
-         const urlD = new URL(urlS)
          expect(urlD.protocol).to.equal("https:")
       })
    })
@@ -74,6 +72,45 @@
       })
    })
 
+   describe("the rest service", function () {
+      it("should be accessible through GET /version", async function () {
+         const urlR = `${settings.restUrl}/api/version`
+         const res = await fetch(urlR)
+         // console.log(res)
+
+         const data = await res.json()
+         // console.log(data)
+         expect(data).to.be.a("object")
+         expect(data).to.have.property("version")
+         expect(data.version).to.be.a("string")
+      })
+      it("should not be accessible without TOKEN", async function () {
+         const urlR = `${settings.restUrl}/api/user?offset=0&limit=1`
+         const res = await fetch(urlR)
+         expect(res.status).to.equal(403)
+      })
+      it("should be accessible with TOKEN", async function () {
+         const urlR = `${settings.restUrl}/api/user?offset=0&limit=1&token=${settings.authtoken}`
+         const res = await fetch(urlR)
+         expect(res.status).to.equal(200)
+         const data = await res.json()
+         // console.log(data)
+
+         expect(data).to.be.a("object")
+         expect(data.total).to.be.a("number").above(0)
+         expect(data.offset).to.equal(0)
+         expect(data.limit).to.equal(1)
+
+         const data2 = data.data
+         expect(data2).to.be.a("array").and.to.be.lengthOf(1)
+
+         const user = data2[0]
+         expect(user.usr_id).to.be.a("number").above(0)
+         expect(user).to.have.property("login")
+         expect(user).to.have.property("firstname")
+         expect(user).to.have.property("lastname")
+      })
+   })
 
 })
 

--
Gitblit v1.8.0