Add repo-memory CLI test docs
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
# Repo Memory `link` Test Plan Index
|
||||
|
||||
## Case Files
|
||||
|
||||
| Case Slug | File | Coverage Note |
|
||||
| --- | --- | --- |
|
||||
| `link-creates-relation-between-entries` | [link-creates-relation-between-entries.md](./link-creates-relation-between-entries.md) | persists one directed relation between two existing entries |
|
||||
| `link-rejects-missing-relation` | [link-rejects-missing-relation.md](./link-rejects-missing-relation.md) | rejects empty relation input before write |
|
||||
| `link-rejects-when-entry-id-missing` | [link-rejects-when-entry-id-missing.md](./link-rejects-when-entry-id-missing.md) | rejects link requests that omit either `--from-id` or `--to-id` |
|
||||
@@ -0,0 +1,28 @@
|
||||
# Case: `link-creates-relation-between-entries`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `link` 可以在两条已存在 entry 之间建立一条可持久化的关系记录。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 空数据库已完成 `init`
|
||||
- 已存在两条 entry:`#1 term:AITask` 与 `#2 chain:ai-insight.get`
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
repo-memory link --db TMPDIR/repo-memory.db --from-id 1 --to-id 2 --relation related_to
|
||||
sqlite3 TMPDIR/repo-memory.db "SELECT relation FROM knowledge_links WHERE from_entry_id = 1 AND to_entry_id = 2;"
|
||||
```
|
||||
|
||||
## 预期输出
|
||||
|
||||
- `link` 命令退出码为 `0`
|
||||
- `link` 输出 `linked #1 -[related_to]-> #2`
|
||||
- SQL 查询返回一行 `related_to`
|
||||
|
||||
## 断言结论
|
||||
|
||||
- `link` 的副作用已落库,而不是只打印成功提示
|
||||
- 关系是定向的,方向由 `from-id` 与 `to-id` 决定
|
||||
@@ -0,0 +1,26 @@
|
||||
# Case: `link-rejects-missing-relation`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `link` 对空 relation 输入给出稳定错误,而不是写入无意义关系。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 空数据库已完成 `init`
|
||||
- 已存在两条 entry:`#1` 与 `#2`
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
repo-memory link --db TMPDIR/repo-memory.db --from-id 1 --to-id 2
|
||||
```
|
||||
|
||||
## 预期输出
|
||||
|
||||
- 命令退出码为 `1`
|
||||
- stderr 包含 `relation is required`
|
||||
|
||||
## 断言结论
|
||||
|
||||
- `relation` 是必填输入
|
||||
- 错误发生在写库前,不会产生半有效的 link 记录
|
||||
@@ -0,0 +1,26 @@
|
||||
# Case: `link-rejects-when-entry-id-missing`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `link` 在缺少 `--from-id` 或 `--to-id` 时,会在写库前拒绝请求。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 空数据库已完成 `init`
|
||||
- 已存在一条 entry:`#1 term:AITask`
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
repo-memory link --db TMPDIR/repo-memory.db --from-id 1 --relation related_to
|
||||
```
|
||||
|
||||
## 预期输出
|
||||
|
||||
- 命令退出码为 `1`
|
||||
- stderr 包含 `both entry ids are required`
|
||||
|
||||
## 断言结论
|
||||
|
||||
- `link` 需要完整的双端 entry id,不能只靠单端 id 建立半关系
|
||||
- 缺失 id 的错误发生在写库前,不会生成不完整 link 记录
|
||||
Reference in New Issue
Block a user