fix: 修复 Queue 已读投影和取消传播

This commit is contained in:
Codex
2026-06-09 01:55:42 +08:00
parent 424058e40b
commit 88ed2c1791
7 changed files with 132 additions and 21 deletions
+8
View File
@@ -62,6 +62,14 @@ const selfTest: SelfTestCase = async (context) => {
const commander = await client.get("/api/v1/queue/commander?queue=dev") as QueueCommanderSnapshot;
assert.equal(commander.stats.byState.cancelled, 1);
assert.equal(commander.items[0]?.id, created.id);
assert.equal(commander.items[0]?.attentionState, "unread");
const terminalRead = await client.post(`/api/v1/queue/tasks/${created.id}/read`, { readerId: "self-test" }) as QueueReadCursorRecord;
assert.equal(terminalRead.taskVersion, cancelled.version);
const readCommander = await client.get("/api/v1/queue/commander?queue=dev&readerId=self-test") as QueueCommanderSnapshot;
assert.equal(readCommander.readerId, "self-test");
assert.equal(readCommander.stats.byState.cancelled, 1);
assert.equal(readCommander.items.some((item) => item.id === created.id), false);
return { name: "queue-q1", tests: ["queue-q1-rest-memory"] };
} finally {
await new Promise<void>((resolve) => server.server.close(() => resolve()));