8c93bde5f6
- core: registerLayout/Widget/Action(泛型)/Schema + 校验闸门 - definePage: 页面只管业务,结构来自注册表 - presets: admin / app-shell 预设布局(vr add 物化) - cli: vr list/add/update 防覆盖 - examples/qa-orchestrator: 实战编排验证(workspace:* 依赖)
28 lines
962 B
TypeScript
28 lines
962 B
TypeScript
/**
|
|
* 运行记录页(run history)
|
|
* 业务:全部历史运行 + 失败率统计
|
|
*/
|
|
import { definePage } from 'vibe-registry'
|
|
|
|
export const runHistoryPage = definePage({
|
|
layout: 'qa-console',
|
|
title: '测试编排 · 运行记录',
|
|
blocks: [
|
|
{ widget: 'suite-list', bind: { suites: 'suites' } },
|
|
{ widget: 'suite-detail-view', props: { mode: 'history' }, bind: { cases: 'runs' } },
|
|
],
|
|
setup: async () => {
|
|
return {
|
|
suites: [
|
|
{ id: 'auth', name: '认证模块', passedRate: 0.92, lastResult: 'passed' },
|
|
{ id: 'billing', name: '计费模块', passedRate: 0.71, lastResult: 'failed' },
|
|
],
|
|
runs: [
|
|
{ id: 'r1', name: 'auth #0421', priority: 'P0', status: 'passed', durationMs: 980 },
|
|
{ id: 'r2', name: 'auth #0420', priority: 'P1', status: 'skipped', durationMs: null },
|
|
{ id: 'r3', name: 'billing #0419', priority: 'P0', status: 'failed', durationMs: 2100 },
|
|
],
|
|
}
|
|
},
|
|
})
|