perf(test): speed up board provider snapshot observations (#127163)

This commit is contained in:
Peter Steinberger
2026-08-21 04:26:39 -07:00
committed by GitHub
parent 096a970820
commit cb563bb16d
+15 -14
View File
@@ -1,5 +1,6 @@
// @vitest-environment node
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { waitForFast } from "../../test-helpers/wait-for.ts";
import { GatewayBoardProvider } from "./gateway-provider.ts";
import { registerBoardProviderLeaseCases } from "./provider.lease-cases.test-support.ts";
import {
@@ -102,7 +103,7 @@ describe("board providers", () => {
);
try {
await vi.waitFor(() => expect(writable.provider.snapshot$.value).toEqual(snapshot));
await waitForFast(() => expect(writable.provider.snapshot$.value).toEqual(snapshot));
writable.update(client, true, {
canPinWidgets: false,
@@ -181,7 +182,7 @@ describe("board providers", () => {
);
try {
await vi.waitFor(() => expect(lease.provider.snapshot$.value).toEqual(snapshot));
await waitForFast(() => expect(lease.provider.snapshot$.value).toEqual(snapshot));
await expect(lease.provider.applyOps([])).rejects.toThrow();
await expect(lease.provider.pinWidget({ docId: "cv-upgraded" })).rejects.toThrow();
await expect(lease.provider.pinMcpApp({ viewId: "app-upgraded" })).rejects.toThrow();
@@ -272,7 +273,7 @@ describe("board providers", () => {
const cached = boardProviderForSession(sessionKey);
try {
await vi.waitFor(() => expect(writer.provider.snapshot$.value).toEqual(previousSnapshot));
await waitForFast(() => expect(writer.provider.snapshot$.value).toEqual(previousSnapshot));
writer.update(nextClient, true, {
canPinWidgets: true,
@@ -281,7 +282,7 @@ describe("board providers", () => {
canGrant: false,
});
await vi.waitFor(() => expect(writer.provider.snapshot$.value).toEqual(nextSnapshot));
await waitForFast(() => expect(writer.provider.snapshot$.value).toEqual(nextSnapshot));
expect(approver.provider.snapshot$.value).toEqual(nextSnapshot);
expect(boardProviderForSession(sessionKey)).toBe(cached);
expect(removePreviousListener).toHaveBeenCalledOnce();
@@ -318,7 +319,7 @@ describe("board providers", () => {
},
};
const first = acquireBoardProviderForSession(snapshot.sessionKey, client as never);
await vi.waitFor(() => expect(first.provider.snapshot$.value).toEqual(snapshot));
await waitForFast(() => expect(first.provider.snapshot$.value).toEqual(snapshot));
const command = vi.fn();
first.provider.events.subscribe(command);
@@ -342,7 +343,7 @@ describe("board providers", () => {
const second = acquireBoardProviderForSession(snapshot.sessionKey, client as never);
expect(second.provider).not.toBe(first.provider);
await vi.waitFor(() => expect(second.provider.snapshot$.value).toEqual(snapshot));
await waitForFast(() => expect(second.provider.snapshot$.value).toEqual(snapshot));
expect(listeners.size).toBe(1);
second.release();
expect(listeners.size).toBe(0);
@@ -370,7 +371,7 @@ describe("board providers", () => {
expect(sessionHasBoard(sessionKey)).toBe(true);
resolveSnapshot?.(emptySnapshot);
await vi.waitFor(() => expect(lease.provider.snapshot$.value).toEqual(emptySnapshot));
await waitForFast(() => expect(lease.provider.snapshot$.value).toEqual(emptySnapshot));
expect(hasLoadedBoardSnapshot(lease.provider)).toBe(true);
expect(sessionHasBoard(sessionKey)).toBe(false);
@@ -610,7 +611,7 @@ describe("board providers", () => {
return () => {};
},
});
await vi.waitFor(() => expect(provider.snapshot$.value.revision).toBe(1));
await waitForFast(() => expect(provider.snapshot$.value.revision).toBe(1));
listener?.({
event: "board.changed",
@@ -679,7 +680,7 @@ describe("board providers", () => {
return () => {};
},
});
await vi.waitFor(() => expect(provider.snapshot$.value).toEqual(initial));
await waitForFast(() => expect(provider.snapshot$.value).toEqual(initial));
listener?.({
event: "board.changed",
@@ -766,7 +767,7 @@ describe("board providers", () => {
return () => {};
},
});
await vi.waitFor(() => expect(provider.snapshot$.value).toEqual(populated));
await waitForFast(() => expect(provider.snapshot$.value).toEqual(populated));
listener?.({
event: "board.changed",
@@ -821,7 +822,7 @@ describe("board providers", () => {
return () => {};
},
});
await vi.waitFor(() => expect(provider.snapshot$.value).toEqual(populated));
await waitForFast(() => expect(provider.snapshot$.value).toEqual(populated));
listener?.({
event: "board.changed",
@@ -873,7 +874,7 @@ describe("board providers", () => {
request: request as never,
addEventListener: () => () => {},
});
await vi.waitFor(() => expect(provider.snapshot$.value).toEqual(populated));
await waitForFast(() => expect(provider.snapshot$.value).toEqual(populated));
const olderMutation = provider.applyOps([{ kind: "tab_delete", tabId: "main" }]);
const newerMutation = provider.applyOps([
@@ -925,7 +926,7 @@ describe("board providers", () => {
request: request as never,
addEventListener: () => () => {},
});
await vi.waitFor(() => expect(provider.snapshot$.value).toEqual(populated));
await waitForFast(() => expect(provider.snapshot$.value).toEqual(populated));
const refresh = provider.activate();
await vi.waitFor(() => expect(getCount).toBe(2));
@@ -988,7 +989,7 @@ describe("board providers", () => {
request: request as never,
addEventListener: () => () => {},
});
await vi.waitFor(() => expect(provider.snapshot$.value).toEqual(initial));
await waitForFast(() => expect(provider.snapshot$.value).toEqual(initial));
const refresh = provider.refreshWidgetFrame("alpha");
await vi.waitFor(() => expect(getCount).toBe(2));