Compare commits

...

1 Commits

Author SHA1 Message Date
Stephen Zhou
c99e82a105 test(web): enable async leak detection and stabilize common modal specs 2026-03-19 18:54:43 +08:00
2 changed files with 13 additions and 7 deletions

View File

@@ -1333,12 +1333,9 @@ describe('CommonCreateModal', () => {
mockVerifyCredentials.mockImplementation((params, { onSuccess }) => {
onSuccess()
})
const builder = createMockSubscriptionBuilder()
render(<CommonCreateModal {...defaultProps} />)
await waitFor(() => {
expect(mockCreateBuilder).toHaveBeenCalled()
})
render(<CommonCreateModal {...defaultProps} builder={builder} />)
fireEvent.click(screen.getByTestId('modal-confirm'))
@@ -1975,8 +1972,8 @@ describe('CommonCreateModal', () => {
})
mockUsePluginStore.mockReturnValue(detailWithCredentials)
// Make createBuilder slow
mockCreateBuilder.mockImplementation(() => new Promise(resolve => setTimeout(resolve, 1000)))
const createBuilderPromise = Promise.withResolvers<{ subscription_builder: TriggerSubscriptionBuilder }>()
mockCreateBuilder.mockImplementation(() => createBuilderPromise.promise)
render(<CommonCreateModal {...defaultProps} />)
@@ -1985,6 +1982,14 @@ describe('CommonCreateModal', () => {
// Should still attempt to verify
expect(screen.getByTestId('modal')).toBeInTheDocument()
createBuilderPromise.resolve({
subscription_builder: createMockSubscriptionBuilder(),
})
await waitFor(() => {
expect(mockCreateBuilder).toHaveBeenCalled()
})
})
})

View File

@@ -77,6 +77,7 @@ export default defineConfig(({ mode }) => {
test: {
environment: 'jsdom',
globals: true,
detectAsyncLeaks: true,
setupFiles: ['./vitest.setup.ts'],
coverage: {
provider: 'v8',