diff --git a/packages/backend/server/src/__tests__/models/user.spec.ts b/packages/backend/server/src/__tests__/models/user.spec.ts index a7a590c51..6109cc143 100644 --- a/packages/backend/server/src/__tests__/models/user.spec.ts +++ b/packages/backend/server/src/__tests__/models/user.spec.ts @@ -5,7 +5,7 @@ import { EmailAlreadyUsed, EventBus } from '../../base'; import { WorkspaceRole } from '../../core/permission'; import { UserModel } from '../../models/user'; import { WorkspaceMemberStatus } from '../../models/workspace'; -import { createTestingModule, type TestingModule } from '../utils'; +import { createTestingModule, sleep, type TestingModule } from '../utils'; interface Context { module: TestingModule; @@ -272,6 +272,9 @@ test('should trigger user.deleted event', async t => { t.true( spy.calledOnceWithExactly({ ...user, ownedWorkspaces: ['test-workspace'] }) ); + // await for 'user.deleted' event to be emitted and executed + // avoid race condition cause database dead lock + await sleep(100); }); test('should paginate users', async t => { diff --git a/packages/backend/server/src/__tests__/utils/testing-app.ts b/packages/backend/server/src/__tests__/utils/testing-app.ts index 2271c547d..2bc499656 100644 --- a/packages/backend/server/src/__tests__/utils/testing-app.ts +++ b/packages/backend/server/src/__tests__/utils/testing-app.ts @@ -156,8 +156,15 @@ export class TestingApp extends ApplyType() { .send({ query, variables, - }) - .expect(200); + }); + + if (res.status !== 200) { + throw new Error( + `Failed to execute gql: ${query}, status: ${res.status}, body: ${JSON.stringify( + res.body + )}` + ); + } if (res.body.errors?.length) { throw new Error(res.body.errors[0].message);