Skip to content

Commit 0db6b68

Browse files
committed
test(web): wait for mobile reconciliation listeners
1 parent d9e99be commit 0db6b68

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

apps/web/src/lib/mobile/MobileRuntimeProvider.test.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ function shellScope(options: { transport?: boolean } = {}) {
2626
const deliver = (detail: unknown) =>
2727
handlers.get("openmapx:native")?.({ detail } as unknown as Event);
2828
const fire = (type: string) => handlers.get(type)?.({} as Event);
29+
const isListening = (type: string) => handlers.has(type);
2930

30-
return { scope, sent, deliver, fire };
31+
return { scope, sent, deliver, fire, isListening };
3132
}
3233

3334
function helloReply(forMessageId: string, overrides: Record<string, unknown> = {}) {
@@ -374,6 +375,7 @@ describe("MobileRuntimeProvider store integration", () => {
374375
mount(shell.scope);
375376
deliverHello(shell);
376377
await waitFor(() => expect(text("state")).toBe("native-compatible"));
378+
await waitFor(() => expect(shell.isListening("visibilitychange")).toBe(true));
377379
shell.sent.length = 0;
378380

379381
shell.fire("visibilitychange");
@@ -387,6 +389,7 @@ describe("MobileRuntimeProvider store integration", () => {
387389
mount(shell.scope);
388390
deliverHello(shell);
389391
await waitFor(() => expect(text("state")).toBe("native-compatible"));
392+
await waitFor(() => expect(shell.isListening("online")).toBe(true));
390393
shell.sent.length = 0;
391394

392395
shell.fire("online");

0 commit comments

Comments
 (0)