diff --git a/packages/backend/src/controllers/api/v1/admin/apps/update-auth-client.ee.js b/packages/backend/src/controllers/api/v1/admin/apps/update-auth-client.ee.js index 71aaba72..a34e9a67 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/update-auth-client.ee.js +++ b/packages/backend/src/controllers/api/v1/admin/apps/update-auth-client.ee.js @@ -2,10 +2,8 @@ import { renderObject } from '../../../../../helpers/renderer.js'; import AppAuthClient from '../../../../../models/app-auth-client.js'; export default async (request, response) => { - const id = request.params.appAuthClientId; - const appAuthClient = await AppAuthClient.query() - .findById(id) + .findById(request.params.appAuthClientId) .throwIfNotFound(); await appAuthClient.$query().patchAndFetch(appAuthClientParams(request)); diff --git a/packages/backend/src/controllers/api/v1/admin/apps/update-auth-client.ee.test.js b/packages/backend/src/controllers/api/v1/admin/apps/update-auth-client.ee.test.js index c3a3e94d..2284bde0 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/update-auth-client.ee.test.js +++ b/packages/backend/src/controllers/api/v1/admin/apps/update-auth-client.ee.test.js @@ -77,4 +77,28 @@ describe('PATCH /api/v1/admin/apps/:appKey/auth-clients', () => { .set('Authorization', token) .expect(400); }); + + it('should return HTTP 422 for invalid payload', async () => { + const appAuthClient = { + formattedAuthDefaults: 'invalid input', + }; + + const existingAppAuthClient = await createAppAuthClient({ + appKey: 'gitlab', + name: 'First auth client', + }); + + const response = await request(app) + .patch( + `/api/v1/admin/apps/gitlab/auth-clients/${existingAppAuthClient.id}` + ) + .set('Authorization', token) + .send(appAuthClient) + .expect(422); + + expect(response.body.meta.type).toBe('ModelValidation'); + expect(response.body.errors).toMatchObject({ + formattedAuthDefaults: ['must be object'], + }); + }); });