mirror of
https://github.com/anomalyco/opencode.git
synced 2026-11-14 03:56:55 +03:00
test(core): use partial service mocks (#45703)
This commit is contained in:
committed by
GitHub
Unverified
parent
07facd2086
commit
a258b17fac
@@ -45,28 +45,19 @@ const permission = permissionLayer({
|
||||
),
|
||||
),
|
||||
})
|
||||
const form = Layer.succeed(
|
||||
Form.Service,
|
||||
Form.Service.of({
|
||||
ask: (input: Form.CreateInput) =>
|
||||
Effect.sync(() => {
|
||||
captured = input
|
||||
}).pipe(
|
||||
Effect.andThen(
|
||||
Effect.sync(
|
||||
(): Form.TerminalState =>
|
||||
reject ? { status: "cancelled" } : { status: "answered", answer: { q0: "Build", q1: ["Dev"] } },
|
||||
),
|
||||
const form = Layer.mock(Form.Service, {
|
||||
ask: (input: Form.CreateInput) =>
|
||||
Effect.sync(() => {
|
||||
captured = input
|
||||
}).pipe(
|
||||
Effect.andThen(
|
||||
Effect.sync(
|
||||
(): Form.TerminalState =>
|
||||
reject ? { status: "cancelled" } : { status: "answered", answer: { q0: "Build", q1: ["Dev"] } },
|
||||
),
|
||||
),
|
||||
create: () => Effect.die("unused"),
|
||||
get: () => Effect.die("unused"),
|
||||
list: () => Effect.die("unused"),
|
||||
state: () => Effect.die("unused"),
|
||||
reply: () => Effect.die("unused"),
|
||||
cancel: () => Effect.die("unused"),
|
||||
}),
|
||||
)
|
||||
),
|
||||
})
|
||||
const questionToolNode = makeLocationNode({
|
||||
name: "test/question-tool-plugin",
|
||||
layer: Layer.effectDiscard(registerToolPlugin(QuestionTool.Plugin)),
|
||||
@@ -114,6 +105,7 @@ describe("QuestionTool", () => {
|
||||
Effect.gen(function* () {
|
||||
captured = undefined
|
||||
deny = true
|
||||
yield* Effect.addFinalizer(() => Effect.sync(() => (deny = false)))
|
||||
const registry = yield* Tool.Service
|
||||
|
||||
expect(
|
||||
@@ -135,7 +127,6 @@ describe("QuestionTool", () => {
|
||||
},
|
||||
})
|
||||
expect(capturedInput()).toBeUndefined()
|
||||
deny = false
|
||||
}),
|
||||
)
|
||||
|
||||
|
||||
@@ -69,15 +69,10 @@ describe("SkillTool", () => {
|
||||
),
|
||||
),
|
||||
})
|
||||
const skills = Layer.succeed(
|
||||
Skill.Service,
|
||||
Skill.Service.of({
|
||||
transform: (_transform) => Effect.die("unused"),
|
||||
reload: () => Effect.die("unused"),
|
||||
get: (id) => Effect.succeed(current.find((skill) => skill.id === id)),
|
||||
list: () => Effect.succeed(current),
|
||||
}),
|
||||
)
|
||||
const skills = Layer.mock(Skill.Service, {
|
||||
get: (id) => Effect.succeed(current.find((skill) => skill.id === id)),
|
||||
list: () => Effect.succeed(current),
|
||||
})
|
||||
const skillToolLayer = AppNodeBuilder.build(LayerNode.group([Tool.node, skillToolNode]), [
|
||||
[Permission.node, permission],
|
||||
[Skill.node, skills],
|
||||
|
||||
Reference in New Issue
Block a user