Add vi.dynamicImportSettled() to the global afterEach hook so pending
dynamic imports (defineAsyncComponent loaders, lazy routes) settle
before Vitest tears down the test environment. Prevents
EnvironmentTeardownError on transitive .vue import chains observed
under filtered runs (e.g. -t "should open authorize dialog").
Covers App.vue, ModernLayout.vue, and any future component using
defineAsyncComponent or lazy-loaded routes.
useToast: () => toastMock,
}))
-afterEach(() => {
+afterEach(async () => {
localStorage.clear()
+ await vi.dynamicImportSettled()
})
await flushPromises()
// Verify dialog components exist (stubbed to true = rendered when dialog state is set)
expect(wrapper.findComponent({ name: 'AuthorizeDialog' }).exists()).toBe(true)
+ expect(wrapper.findComponent({ name: 'SetSupervisionUrlDialog' }).exists()).toBe(true)
+ expect(wrapper.findComponent({ name: 'StartTransactionDialog' }).exists()).toBe(true)
wrapper.unmount()
})
})