diff --git a/tdrive/backend/node/src/core/platform/framework/utils/loader.ts b/tdrive/backend/node/src/core/platform/framework/utils/loader.ts index 587d5b1e..ed314cd0 100644 --- a/tdrive/backend/node/src/core/platform/framework/utils/loader.ts +++ b/tdrive/backend/node/src/core/platform/framework/utils/loader.ts @@ -14,7 +14,7 @@ export class Loader { try { return await import(modulePath); } catch (err) { - platformLogger.debug( + platformLogger.error( { err }, `${modulePath} can not be loaded (file was found but we were unable to import the module)`, ); diff --git a/tdrive/backend/node/test/e2e/users/users.spec.ts b/tdrive/backend/node/test/e2e/users/users.spec.ts index d91fecde..bcdc20b6 100644 --- a/tdrive/backend/node/test/e2e/users/users.spec.ts +++ b/tdrive/backend/node/test/e2e/users/users.spec.ts @@ -52,6 +52,13 @@ describe("The /users API", () => { firstName: "admin", }); await testDbService.createUser([workspacePk], { password: "123456" }); + await testDbService.createUser([workspacePk], { + workspaceRole: "moderator", + companyRole: "member", + email: "member@admin.admin", + username: "memberuser", + firstName: "member", + }); }); // eslint-disable-next-line @typescript-eslint/no-empty-function @@ -544,6 +551,31 @@ describe("The /users API", () => { }); describe("The PUT /users/:id route", () => { + it("should deny update if user is not an admin in company", async () => { + const myId = testDbService.users[2].id; + const updatedUserId = testDbService.users[1].id; + + const jwtToken = await platform.auth.getJWTToken({ sub: myId }); + const response = await platform.app.inject({ + method: "PUT", + url: `${url}/users/${updatedUserId}`, + headers: { + authorization: `Bearer ${jwtToken}`, + }, + body: { + email: "newvalue@gmail.com", + first_name: "New", + last_name: "Value", + picture: "null", + }, + }); + + expect(response.statusCode).toBe(401); + expect(response.json().message).toBe( + `User ${myId} is not allowed to update user ${updatedUserId}`, + ); + }); + it("should 200 and response for updated user", async () => { const myId = testDbService.users[0].id; const updatedUserId = testDbService.users[1].id; @@ -567,8 +599,6 @@ describe("The /users API", () => { const resource = response.json()["resource"]; - console.log("resource: ", resource); - expect(resource).toMatchObject({ id: updatedUserId, provider: expect.any(String),