From e02947605607cc177909e009aabfea7054c1e371 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Thu, 1 Oct 2026 15:42:37 +0900 Subject: [PATCH] test(lit-query/BaseController): add test for resolving to a missing client when the host cannot dispatch events --- .../src/__tests__/BaseController.test.ts | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packages/lit-query/src/__tests__/BaseController.test.ts b/packages/lit-query/src/__tests__/BaseController.test.ts index a5a0e6b147..f754674a80 100644 --- a/packages/lit-query/src/__tests__/BaseController.test.ts +++ b/packages/lit-query/src/__tests__/BaseController.test.ts @@ -75,4 +75,26 @@ describe('BaseController', () => { controller.destroy() provider.remove() }) + + it('should resolve to a missing client without throwing when the host cannot dispatch events', async () => { + const host: ReactiveControllerHost = { + addController: () => {}, + removeController: () => {}, + requestUpdate: () => {}, + updateComplete: Promise.resolve(true), + } + + const controller = new RecordingController(host) + controller.hostConnected() + await vi.advanceTimersByTimeAsync(0) + expect(controller.lifecycle).toEqual([ + 'connected:missing', + 'changed:missing', + ]) + expect(() => controller.current).toThrow( + 'No QueryClient available. Pass one explicitly or render within QueryClientProvider.', + ) + + controller.destroy() + }) })