Compare commits

..

1 Commits

Author SHA1 Message Date
James Long 12a34bbde8 test(core): simplify cross-spawn layer wiring 2026-06-20 21:47:00 -04:00
2 changed files with 18 additions and 6 deletions
@@ -6,9 +6,10 @@ import { Effect, Exit, Stream } from "effect"
import type * as PlatformError from "effect/PlatformError"
import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process"
import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner"
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
import { testEffect } from "../lib/effect"
const live = CrossSpawnSpawner.defaultLayer
const live = LayerNode.buildLayer(CrossSpawnSpawner.node)
const fx = testEffect(live)
function js(code: string, opts?: ChildProcess.CommandOptions) {
+16 -5
View File
@@ -2,19 +2,30 @@ import { describe, expect } from "bun:test"
import { $ } from "bun"
import fs from "fs/promises"
import path from "path"
import { Effect, Schema } from "effect"
import { Effect, Layer, Schema } from "effect"
import { ProjectV2 } from "@opencode-ai/core/project"
import { Database } from "@opencode-ai/core/database/database"
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
import { FSUtil } from "@opencode-ai/core/fs-util"
import { Git } from "@opencode-ai/core/git"
import { AbsolutePath } from "@opencode-ai/core/schema"
import { Hash } from "@opencode-ai/core/util/hash"
import { ProjectDirectories } from "@opencode-ai/core/project/directories"
import { tmpdir } from "./fixture/tmpdir"
import { testEffect } from "./lib/effect"
const databaseLayer = Database.layerFromPath(":memory:")
const directoriesLayer = ProjectDirectories.layer.pipe(Layer.provide(databaseLayer))
const it = testEffect(
LayerNode.buildLayer(ProjectV2.node, {
replacements: [LayerNode.replace(Database.node, Database.layerFromPath(":memory:"))],
}),
Layer.mergeAll(
ProjectV2.layer.pipe(
Layer.provide(FSUtil.defaultLayer),
Layer.provide(Git.defaultLayer),
Layer.provide(directoriesLayer),
Layer.provide(databaseLayer),
),
databaseLayer,
directoriesLayer,
),
)
function remoteID(remote: string) {