diff --git a/packages/backend/src/models/app-auth-client.test.js b/packages/backend/src/models/app-auth-client.test.js index d38a198f..94b5c9f8 100644 --- a/packages/backend/src/models/app-auth-client.test.js +++ b/packages/backend/src/models/app-auth-client.test.js @@ -160,21 +160,61 @@ describe('AppAuthClient model', () => { }); }); - it('triggerAppConfigUpdate should trigger an update in related app config', async () => { - await createAppConfig({ key: 'gitlab' }); + describe('triggerAppConfigUpdate', () => { + it('should trigger an update in related app config', async () => { + await createAppConfig({ key: 'gitlab' }); - const appAuthClient = await createAppAuthClient({ - appKey: 'gitlab', + const appAuthClient = await createAppAuthClient({ + appKey: 'gitlab', + }); + + const appConfigBeforeUpdateSpy = vi.spyOn( + AppConfig.prototype, + '$beforeUpdate' + ); + + await appAuthClient.triggerAppConfigUpdate(); + + expect(appConfigBeforeUpdateSpy).toHaveBeenCalledOnce(); }); - const appConfigBeforeUpdateSpy = vi.spyOn( - AppConfig.prototype, - '$beforeUpdate' - ); + it('should update related AppConfig after creating an instance', async () => { + const appConfig = await createAppConfig({ + key: 'gitlab', + disabled: false, + shared: true, + }); - await appAuthClient.triggerAppConfigUpdate(); + await createAppAuthClient({ + appKey: 'gitlab', + active: true, + }); - expect(appConfigBeforeUpdateSpy).toHaveBeenCalledOnce(); + const refetchedAppConfig = await appConfig.$query(); + + expect(refetchedAppConfig.connectionAllowed).toBe(true); + }); + + it('should update related AppConfig after updating an instance', async () => { + const appConfig = await createAppConfig({ + key: 'gitlab', + disabled: false, + shared: true, + }); + + const appAuthClient = await createAppAuthClient({ + appKey: 'gitlab', + active: false, + }); + + let refetchedAppConfig = await appConfig.$query(); + expect(refetchedAppConfig.connectionAllowed).toBe(false); + + await appAuthClient.$query().patchAndFetch({ active: true }); + + refetchedAppConfig = await appConfig.$query(); + expect(refetchedAppConfig.connectionAllowed).toBe(true); + }); }); it('$beforeInsert should call AppAuthClient.encryptData', async () => {