diff --git a/src/test/e2e/api/admin/user-admin.scim.e2e.test.ts b/src/test/e2e/api/admin/user-admin.scim.e2e.test.ts index 4a78191c2d..b93b33f60e 100644 --- a/src/test/e2e/api/admin/user-admin.scim.e2e.test.ts +++ b/src/test/e2e/api/admin/user-admin.scim.e2e.test.ts @@ -12,6 +12,7 @@ let app: IUnleashTest; let scimUserId: number; let regularUserId: number; +let scimDeletableUser: number; const scimUser = { email: 'scim-user@test.com', @@ -24,6 +25,12 @@ const regularUser = { name: 'Regular User', }; +const scimUserToBeDeleted = { + email: 'scim-victim@test.com', + name: 'SCIM Victim', + scim_id: 'some-other-random-scim-id', +}; + const scimGuardErrorMessage = 'This user is managed by your SCIM provider and cannot be changed manually'; @@ -50,6 +57,13 @@ beforeAll(async () => { regularUserId = ( await db.rawDatabase('users').insert(regularUser).returning('id') )[0].id; + + scimDeletableUser = ( + await db + .rawDatabase('users') + .insert(scimUserToBeDeleted) + .returning('id') + )[0].id; }); afterAll(async () => { @@ -86,12 +100,10 @@ test('should prevent editing a SCIM user', async () => { expect(body.details[0].message).toBe(scimGuardErrorMessage); }); -test('should prevent deleting a SCIM user', async () => { - const { body } = await app.request - .delete(`/api/admin/user-admin/${scimUserId}`) - .expect(403); - - expect(body.details[0].message).toBe(scimGuardErrorMessage); +test('should not prevent deleting a SCIM user', async () => { + await app.request + .delete(`/api/admin/user-admin/${scimDeletableUser}`) + .expect(200); }); test('should prevent changing password for a SCIM user', async () => {