Show waiting tasks accurately in operations views

This commit is contained in:
wuyang
2026-11-05 11:02:42 +08:00
parent f882c9a831
commit 5e7cae0bee
5 changed files with 27 additions and 10 deletions
+16
View File
@@ -194,3 +194,19 @@ test('execution status is private and absent data degrades safely', async t => {
const data = await (await request('/api/execution', { headers:{cookie} })).json();
assert.equal(data.history[0].title, '任务'); assert.equal(data.history[0].status, 'complete');
});
test('waiting queue tasks remain visible to the owner', async t => {
const { directory, request, login } = await fixture(t);
await writeFile(path.join(directory, 'workqueue.json'), JSON.stringify({schema:1,tasks:[{id:'idea',title:'等待素材',status:'waiting'}]}));
const cookie=(await login()).headers.get('set-cookie').split(';')[0];
const result=await (await request('/api/workqueue',{headers:{cookie}})).json();
assert.equal(result.tasks[0].status,'waiting');
});
test('legacy pending tasks are not presented as ready to dispatch', async t => {
const { directory, request, login } = await fixture(t);
await writeFile(path.join(directory,'workqueue.json'),JSON.stringify({schema:1,tasks:[{id:'old',title:'旧任务',status:'pending'}]}));
const cookie=(await login()).headers.get('set-cookie').split(';')[0];
const value=await (await request('/api/workqueue',{headers:{cookie}})).json();
assert.equal(value.tasks[0].status,'waiting');
});