diff --git a/packages/opencode/test/file/fsmonitor.test.ts b/packages/opencode/test/file/fsmonitor.test.ts index 1149fb8bb5..699e713c22 100644 --- a/packages/opencode/test/file/fsmonitor.test.ts +++ b/packages/opencode/test/file/fsmonitor.test.ts @@ -5,10 +5,12 @@ import fs from "fs/promises" import path from "path" import { File } from "../../src/file" import { Instance } from "../../src/project/instance" -import { tmpdir } from "../fixture/fixture" +import { provideInstance, tmpdir } from "../fixture/fixture" -const status = () => Effect.runPromise(File.Service.use((svc) => svc.status())) -const read = (file: string) => Effect.runPromise(File.Service.use((svc) => svc.read(file))) +const run = (eff: Effect.Effect) => + Effect.runPromise(provideInstance(Instance.directory)(eff.pipe(Effect.provide(File.defaultLayer)))) +const status = () => run(File.Service.use((svc) => svc.status())) +const read = (file: string) => run(File.Service.use((svc) => svc.read(file))) const wintest = process.platform === "win32" ? test : test.skip diff --git a/packages/opencode/test/file/index.test.ts b/packages/opencode/test/file/index.test.ts index 50bcbea783..d8203ac12d 100644 --- a/packages/opencode/test/file/index.test.ts +++ b/packages/opencode/test/file/index.test.ts @@ -6,18 +6,20 @@ import fs from "fs/promises" import { File } from "../../src/file" import { Instance } from "../../src/project/instance" import { Filesystem } from "../../src/util/filesystem" -import { tmpdir } from "../fixture/fixture" +import { provideInstance, tmpdir } from "../fixture/fixture" afterEach(async () => { await Instance.disposeAll() }) -const init = () => Effect.runPromise(File.Service.use((svc) => svc.init())) -const status = () => Effect.runPromise(File.Service.use((svc) => svc.status())) -const read = (file: string) => Effect.runPromise(File.Service.use((svc) => svc.read(file))) -const list = (dir?: string) => Effect.runPromise(File.Service.use((svc) => svc.list(dir))) +const init = () => run(File.Service.use((svc) => svc.init())) +const run = (eff: Effect.Effect) => + Effect.runPromise(provideInstance(Instance.directory)(eff.pipe(Effect.provide(File.defaultLayer)))) +const status = () => run(File.Service.use((svc) => svc.status())) +const read = (file: string) => run(File.Service.use((svc) => svc.read(file))) +const list = (dir?: string) => run(File.Service.use((svc) => svc.list(dir))) const search = (input: { query: string; limit?: number; dirs?: boolean; type?: "file" | "directory" }) => - Effect.runPromise(File.Service.use((svc) => svc.search(input))) + run(File.Service.use((svc) => svc.search(input))) describe("file/index Filesystem patterns", () => { describe("read() - text content", () => { diff --git a/packages/opencode/test/file/path-traversal.test.ts b/packages/opencode/test/file/path-traversal.test.ts index 322485263d..1f2e45a6ad 100644 --- a/packages/opencode/test/file/path-traversal.test.ts +++ b/packages/opencode/test/file/path-traversal.test.ts @@ -5,10 +5,12 @@ import fs from "fs/promises" import { Filesystem } from "../../src/util/filesystem" import { File } from "../../src/file" import { Instance } from "../../src/project/instance" -import { tmpdir } from "../fixture/fixture" +import { provideInstance, tmpdir } from "../fixture/fixture" -const read = (file: string) => Effect.runPromise(File.Service.use((svc) => svc.read(file))) -const list = (dir?: string) => Effect.runPromise(File.Service.use((svc) => svc.list(dir))) +const run = (eff: Effect.Effect) => + Effect.runPromise(provideInstance(Instance.directory)(eff.pipe(Effect.provide(File.defaultLayer)))) +const read = (file: string) => run(File.Service.use((svc) => svc.read(file))) +const list = (dir?: string) => run(File.Service.use((svc) => svc.list(dir))) describe("Filesystem.contains", () => { test("allows paths within project", () => {