From 4e736998c73fe46a7748991f2ff06658f62b25b5 Mon Sep 17 00:00:00 2001 From: lanyuanxiaoyao Date: Tue, 9 Jun 2026 15:11:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9B=E5=BB=BA=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=A4=B9=E5=85=B7=E5=B7=A5=E5=85=B7=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/agent/fixtures.ts | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 tests/agent/fixtures.ts diff --git a/tests/agent/fixtures.ts b/tests/agent/fixtures.ts new file mode 100644 index 0000000..1d4694a --- /dev/null +++ b/tests/agent/fixtures.ts @@ -0,0 +1,46 @@ +import { existsSync } from "node:fs"; +import { mkdir, writeFile, rm } from "node:fs/promises"; +import { join } from "node:path"; +import { runInit } from "../../src/commands/init.ts"; +import { loadConfig, getChangeDir } from "../../src/core/config.ts"; +import type { RuneConfig } from "../../src/types.ts"; + +const TMP_DIR = join(import.meta.dir, "__tmp_agent_test__"); + +export function getTempDir(): string { + return TMP_DIR; +} + +export async function setupTempDir(): Promise { + await rm(TMP_DIR, { recursive: true, force: true }); + await mkdir(TMP_DIR, { recursive: true }); +} + +export async function cleanupTempDir(): Promise { + await rm(TMP_DIR, { recursive: true, force: true }); +} + +export async function createFreshProject(editors: string[] = ["opencode"]): Promise { + await runInit(TMP_DIR, editors); + return loadConfig(TMP_DIR); +} + +export async function createChangeDir(changeName: string): Promise { + const dir = getChangeDir(TMP_DIR, changeName); + await mkdir(dir, { recursive: true }); + return dir; +} + +export async function writeDoc( + changeName: string, + docName: string, + content: string, +): Promise { + const dir = getChangeDir(TMP_DIR, changeName); + await mkdir(dir, { recursive: true }); + await writeFile(join(dir, `${docName}.md`), content); +} + +export function changeFileExists(changeName: string, fileName: string): boolean { + return existsSync(join(getChangeDir(TMP_DIR, changeName), fileName)); +}