/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/core/test/command.test.ts
56 строк
2 KB
James Long
refactor(core): finish test layer node conversion (#34385)
29 июн 2026, 18:35
Не верифицирован
29 июн 2026, 18:35
a377642
Код
Авторство
О чём код?
import { describe, expect } from "bun:test" import { Effect } from "effect" import { CommandV2 } from "@opencode-ai/core/command" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { ModelV2 } from "@opencode-ai/core/model" import { ProviderV2 } from "@opencode-ai/core/provider" import { testEffect } from "./lib/effect" const it = testEffect(AppNodeBuilder.build(CommandV2.node)) describe("CommandV2", () => { it.effect("applies command transforms and preserves later overrides", () => Effect.gen(function* () { const command = yield* CommandV2.Service yield* command.transform((editor) => { editor.update("review", (command) => { command.template = "First" command.description = "Review code" }) editor.update("review", (command) => { command.template = "Second" command.model = { id: ModelV2.ID.make("claude"), providerID: ProviderV2.ID.make("anthropic"), variant: ModelV2.VariantID.make("high"), } }) }) expect(yield* command.get("review")).toEqual( CommandV2.Info.make({ name: "review", template: "Second", description: "Review code", model: { id: ModelV2.ID.make("claude"), providerID: ProviderV2.ID.make("anthropic"), variant: ModelV2.VariantID.make("high"), }, }), ) expect(yield* command.list()).toEqual([ CommandV2.Info.make({ name: "review", template: "Second", description: "Review code", model: { id: ModelV2.ID.make("claude"), providerID: ProviderV2.ID.make("anthropic"), variant: ModelV2.VariantID.make("high"), }, }), ]) }), ) })