diff --git a/fixtures/vitest-pool-workers-examples/rpc/test/unit.test.ts b/fixtures/vitest-pool-workers-examples/rpc/test/unit.test.ts index 02636130ef..cb83c9c01d 100644 --- a/fixtures/vitest-pool-workers-examples/rpc/test/unit.test.ts +++ b/fixtures/vitest-pool-workers-examples/rpc/test/unit.test.ts @@ -1,4 +1,5 @@ import { + createExecutionContext, env, runDurableObjectAlarm, runInDurableObject, @@ -6,7 +7,7 @@ import { } from "cloudflare:test"; import { RpcStub } from "cloudflare:workers"; import { describe, it, onTestFinished } from "vitest"; -import { Counter, TestObject } from "../src"; +import TestDefaultEntrypoint, { Counter, TestObject } from "../src"; describe("named entrypoints", () => { it("dispatches fetch request to named ExportedHandler", async ({ @@ -154,6 +155,25 @@ describe("Durable Object", () => { }); }); +// Regression: https://github.com/cloudflare/workers-sdk/issues/7077 +// Fixed in workerd by https://github.com/cloudflare/workerd/pull/3782 +it("can construct a WorkerEntrypoint with mocked env", async ({ expect }) => { + const data = new Map([["mocked-key", "mocked-value"]]); + const mockedKv = new Proxy(env.KV_NAMESPACE, { + get: (target, prop, receiver) => + prop === "get" + ? async (key: string) => data.get(key) ?? null + : Reflect.get(target, prop, receiver), + }); + + const ctx = createExecutionContext(); + const worker = new TestDefaultEntrypoint(ctx, { + ...env, + KV_NAMESPACE: mockedKv, + }); + expect(await worker.read("mocked-key")).toBe("mocked-value"); +}); + describe("counter", () => { it("increments count", ({ expect }) => { const counter = new Counter(3);