


















@@ -19,6 +19,20 @@ afterEach(() => {
1919resetPluginStateStoreForTests();
2020});
212122+async function expectPluginStateStoreError(
23+promise: Promise<unknown>,
24+expected: { code: string },
25+): Promise<void> {
26+let storeError: unknown;
27+try {
28+await promise;
29+} catch (error) {
30+storeError = error;
31+}
32+expect(storeError).toBeInstanceOf(PluginStateStoreError);
33+expect((storeError as PluginStateStoreError | undefined)?.code).toBe(expected.code);
34+}
35+2236// ---------------------------------------------------------------------------
2337// Runtime smoke
2438// ---------------------------------------------------------------------------
@@ -174,7 +188,7 @@ describe("limits", () => {
174188});
175189// 65 535 chars → 65 537 bytes of JSON → over limit.
176190const oversize = "x".repeat(65_535);
177-await expect(store.register("big", oversize)).rejects.toMatchObject({
191+await expectPluginStateStoreError(store.register("big", oversize), {
178192code: "PLUGIN_STATE_LIMIT_EXCEEDED",
179193});
180194});
@@ -204,7 +218,7 @@ describe("limits", () => {
204218});
205219206220// One more row tips over the plugin-wide limit.
207-await expect(store.register("overflow", { boom: true })).rejects.toMatchObject({
221+await expectPluginStateStoreError(store.register("overflow", { boom: true }), {
208222code: "PLUGIN_STATE_LIMIT_EXCEEDED",
209223});
210224});
@@ -254,7 +268,7 @@ describe("failure safety", () => {
254268});
255269const error = await store.register("k", { ok: true }).catch((e: unknown) => e);
256270expect(error).toBeInstanceOf(PluginStateStoreError);
257-expect(error).toMatchObject({ code: "PLUGIN_STATE_SCHEMA_UNSUPPORTED" });
271+expect((error as PluginStateStoreError).code).toBe("PLUGIN_STATE_SCHEMA_UNSUPPORTED");
258272});
259273});
260274此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。