新增 release artifact URL workflow summary view model
This commit is contained in:
@@ -9,7 +9,7 @@ turn-by-turn continuation notes and next-batch execution records.
|
|||||||
## Current Status
|
## Current Status
|
||||||
|
|
||||||
- Active continuation file: `text14.txt`
|
- Active continuation file: `text14.txt`
|
||||||
- Latest completed batch: workflow overview release artifact URL workflow validation summary
|
- Latest completed batch: workflow overview release artifact URL workflow summary view-model API
|
||||||
- Latest relevant commit: use `git log -1 --oneline` after each committed batch
|
- Latest relevant commit: use `git log -1 --oneline` after each committed batch
|
||||||
- Working tree at tracker creation: clean
|
- Working tree at tracker creation: clean
|
||||||
- Required policy: LinuxCNC remains the only CNC semantic source
|
- Required policy: LinuxCNC remains the only CNC semantic source
|
||||||
|
|||||||
67
text14.txt
67
text14.txt
@@ -3308,6 +3308,73 @@ ui_node_smokes=ok
|
|||||||
继续只做实质能力推进。优先选择可执行 gate、SDK/API surface、或真实 browser workflow;
|
继续只做实质能力推进。优先选择可执行 gate、SDK/API surface、或真实 browser workflow;
|
||||||
不要做只整理断言或局部常量化的批次。
|
不要做只整理断言或局部常量化的批次。
|
||||||
|
|
||||||
|
五十、2026-06-16 继续执行记录:workflow overview release artifact URL workflow summary view-model API
|
||||||
|
|
||||||
|
本轮继续按“每批必须产出可调用 API、可验证 workflow、可执行 gate、或真实 UI/browser 能力”推进,
|
||||||
|
把 release readiness artifact URL workflow 封装成外部 browser shell 可直接展示的 summary view-model。
|
||||||
|
外部调用方现在可以在 URL fetch/validate/render/mount workflow 之后读取一个稳定 statusLine 和 rows,
|
||||||
|
不用自行解释 artifact URL、HTTP status、validation summary、render-state、mount-result 或 missing reasons。
|
||||||
|
|
||||||
|
完成内容:
|
||||||
|
|
||||||
|
- `runtime/ui/ini-panel/ui-shell.js` 新增:
|
||||||
|
- `createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel()`;
|
||||||
|
- 新 summary view-model 返回:
|
||||||
|
- `apiName: ini-panel-shell-workflow-overview-release-readiness-artifact-url-workflow-summary-view-model`;
|
||||||
|
- `viewModelVersion: 1`;
|
||||||
|
- `phase/ready`;
|
||||||
|
- `title/statusText/detailText/statusLine`;
|
||||||
|
- rows:`artifact-url`、`http-status`、`validation-summary`、`render-state`、`mount-result`、`missing`;
|
||||||
|
- `createIniPanelShellWorkflowOverviewContract().methodNames` 新增:
|
||||||
|
- `getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel`;
|
||||||
|
- `createIniPanelLaunchApiManifest().methods` 新增同名 discovery method;
|
||||||
|
- `createIniPanelShellViewModel()` 暴露:
|
||||||
|
- `createWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel`;
|
||||||
|
- `workflow-overview.html` 暴露:
|
||||||
|
- `window.linuxCncIniPanelWorkflowOverviewApi.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel()`;
|
||||||
|
- `launch.html` 暴露:
|
||||||
|
- `window.linuxCncIniPanelLaunchApi.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel()`;
|
||||||
|
- `runtime/sdk/src/index.js` re-export 新 UI helper;
|
||||||
|
- UI Node smoke、launch manifest smoke、shell integration manifest smoke、entry docs smoke、SDK surface smoke 覆盖新 helper/API;
|
||||||
|
- Browser smoke 覆盖 workflow overview iframe、launch API 和 standalone release artifact URL workflow summary;
|
||||||
|
- `docs/panel-entry.md`、`runtime/sdk/README.md`、`docs/project-release-handoff.md`、`verify_project_release_handoff_docs.mjs`
|
||||||
|
记录 URL workflow summary view-model API;
|
||||||
|
- `PROJECT_COMPLETION_TRACKER.md` 同步 latest completed batch;
|
||||||
|
- 未新增控制按钮;
|
||||||
|
- 未在 browser/API 中执行 release gate 或 shell command;
|
||||||
|
- 未解析 G-code;
|
||||||
|
- 未解释 canonical events;
|
||||||
|
- 未新增 JS CNC 语义;
|
||||||
|
- 未运行 opt-in runtime probes;
|
||||||
|
- 未 promotion blocked runtime family;
|
||||||
|
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
|
||||||
|
runtime semantics。
|
||||||
|
|
||||||
|
验证已通过(先行 targeted):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
|
||||||
|
wasm-port/tests/sdk/node/verify_sdk_surface.sh
|
||||||
|
wasm-port/tests/docs/node/verify_project_release_handoff_docs.sh
|
||||||
|
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
|
||||||
|
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_release_artifact_url_workflow_browser.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
关键输出:
|
||||||
|
|
||||||
|
```text
|
||||||
|
ui_node_smokes=ok
|
||||||
|
sdk_surface_node_smoke=ok
|
||||||
|
project_release_handoff_docs_node_smoke=ok
|
||||||
|
browser_ini_shell_integration_workflow_smoke=ok
|
||||||
|
browser_release_artifact_url_workflow_smoke=ok
|
||||||
|
```
|
||||||
|
|
||||||
|
下一步工作计划:
|
||||||
|
|
||||||
|
继续只做实质能力推进。优先选择可执行 gate、SDK/API surface、或真实 browser workflow;
|
||||||
|
不要做只整理断言或局部常量化的批次。
|
||||||
|
|
||||||
四十九、2026-06-16 继续执行记录:workflow overview release artifact URL workflow validation summary
|
四十九、2026-06-16 继续执行记录:workflow overview release artifact URL workflow validation summary
|
||||||
|
|
||||||
本轮继续按“每批必须产出可调用 API、可验证 workflow、可执行 gate、或真实 UI/browser 能力”推进,
|
本轮继续按“每批必须产出可调用 API、可验证 workflow、可执行 gate、或真实 UI/browser 能力”推进,
|
||||||
|
|||||||
@@ -169,6 +169,10 @@ when the shell should fetch the artifact JSON URL, validate it, and optionally
|
|||||||
mount the render-state into caller-owned DOM without executing gates. The URL
|
mount the render-state into caller-owned DOM without executing gates. The URL
|
||||||
workflow result includes `validationSummaryViewModel` so callers can show
|
workflow result includes `validationSummaryViewModel` so callers can show
|
||||||
stable validation status and rows from the same fetch.
|
stable validation status and rows from the same fetch.
|
||||||
|
Use `createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel()` or
|
||||||
|
`linuxCncIniPanelWorkflowOverviewApi.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel()`
|
||||||
|
when the shell needs one stable status line and dashboard rows for the whole
|
||||||
|
artifact URL fetch/validate/render/mount workflow.
|
||||||
Use `createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel()` or
|
Use `createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel()` or
|
||||||
`linuxCncIniPanelWorkflowOverviewApi.getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel()`
|
`linuxCncIniPanelWorkflowOverviewApi.getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel()`
|
||||||
when the shell needs stable artifact validation status text and dashboard rows
|
when the shell needs stable artifact validation status text and dashboard rows
|
||||||
|
|||||||
@@ -62,7 +62,10 @@ continuation records are in `../text14.txt`.
|
|||||||
can also call
|
can also call
|
||||||
`linuxCncIniPanelWorkflowOverviewApi.loadWorkflowOverviewReleaseReadinessArtifactUrl()`
|
`linuxCncIniPanelWorkflowOverviewApi.loadWorkflowOverviewReleaseReadinessArtifactUrl()`
|
||||||
to fetch the artifact URL, validate it, and optionally mount the resulting
|
to fetch the artifact URL, validate it, and optionally mount the resulting
|
||||||
read-only render state. When the outer shell needs DOM output, the workflow
|
read-only render state. That URL workflow includes a validation summary
|
||||||
|
view-model and can be summarized with
|
||||||
|
`getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel()`.
|
||||||
|
When the outer shell needs DOM output, the workflow
|
||||||
overview iframe also exposes
|
overview iframe also exposes
|
||||||
display, render-state, DOM readiness, renderer, and mount helpers for the
|
display, render-state, DOM readiness, renderer, and mount helpers for the
|
||||||
same release readiness artifact validation.
|
same release readiness artifact validation.
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ import {
|
|||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
||||||
createLinuxCncIniSdk,
|
createLinuxCncIniSdk,
|
||||||
createLinuxCncInterpSdk,
|
createLinuxCncInterpSdk,
|
||||||
@@ -301,6 +302,8 @@ for external browser shells:
|
|||||||
browser or shell should fetch the artifact JSON URL, validate it, and
|
browser or shell should fetch the artifact JSON URL, validate it, and
|
||||||
optionally mount the resulting render-state into caller-owned DOM. The URL
|
optionally mount the resulting render-state into caller-owned DOM. The URL
|
||||||
workflow result includes `validationSummaryViewModel` for dashboards.
|
workflow result includes `validationSummaryViewModel` for dashboards.
|
||||||
|
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel()`
|
||||||
|
turns the full URL workflow result into stable status text and rows.
|
||||||
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel()`,
|
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel()`,
|
||||||
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState()`,
|
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState()`,
|
||||||
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel()`,
|
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel()`,
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ export {
|
|||||||
createIniPanelShellWorkflowOverviewEmbeddingRenderState,
|
createIniPanelShellWorkflowOverviewEmbeddingRenderState,
|
||||||
createIniPanelShellWorkflowOverviewEmbeddingReport,
|
createIniPanelShellWorkflowOverviewEmbeddingReport,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
||||||
|
|||||||
@@ -300,6 +300,9 @@
|
|||||||
loadWorkflowOverviewReleaseReadinessArtifactUrl: (options) => (
|
loadWorkflowOverviewReleaseReadinessArtifactUrl: (options) => (
|
||||||
shellViewModel.loadWorkflowOverviewReleaseReadinessArtifactUrl(options)
|
shellViewModel.loadWorkflowOverviewReleaseReadinessArtifactUrl(options)
|
||||||
),
|
),
|
||||||
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel: (workflow) => (
|
||||||
|
shellViewModel.createWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(workflow)
|
||||||
|
),
|
||||||
getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel: (validation) => (
|
getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel: (validation) => (
|
||||||
shellViewModel.createWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel(validation)
|
shellViewModel.createWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel(validation)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ export function createIniPanelLaunchApiManifest(entries = getVisibleIniPanelEntr
|
|||||||
"getWorkflowOverviewReadiness",
|
"getWorkflowOverviewReadiness",
|
||||||
"mountWorkflowOverviewEmbedding",
|
"mountWorkflowOverviewEmbedding",
|
||||||
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
||||||
|
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
||||||
"getWorkflowOverviewEmbeddingReport",
|
"getWorkflowOverviewEmbeddingReport",
|
||||||
"getWorkflowOverviewEmbeddingDisplayViewModel",
|
"getWorkflowOverviewEmbeddingDisplayViewModel",
|
||||||
@@ -1879,6 +1880,7 @@ export function createIniPanelShellWorkflowOverviewContract() {
|
|||||||
"getWorkflowOverviewPersistenceSummary",
|
"getWorkflowOverviewPersistenceSummary",
|
||||||
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
||||||
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
||||||
|
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
||||||
@@ -2048,6 +2050,61 @@ export async function loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactU
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(
|
||||||
|
workflow = {},
|
||||||
|
) {
|
||||||
|
const missing = Array.isArray(workflow?.missing) ? workflow.missing : [];
|
||||||
|
const ready = workflow?.ready === true;
|
||||||
|
const statusText = ready ? "Ready" : "Blocked";
|
||||||
|
const detailText = ready
|
||||||
|
? "Artifact URL workflow complete"
|
||||||
|
: (missing.length > 0 ? missing.join(", ") : workflow?.error ?? "artifact URL workflow blocked");
|
||||||
|
return {
|
||||||
|
apiName: "ini-panel-shell-workflow-overview-release-readiness-artifact-url-workflow-summary-view-model",
|
||||||
|
viewModelVersion: 1,
|
||||||
|
phase: ready ? "ready" : "blocked",
|
||||||
|
ready,
|
||||||
|
title: "Release artifact URL workflow",
|
||||||
|
statusText,
|
||||||
|
detailText,
|
||||||
|
statusLine: `${statusText}: ${detailText}`,
|
||||||
|
rows: [
|
||||||
|
{
|
||||||
|
id: "artifact-url",
|
||||||
|
label: "Artifact URL",
|
||||||
|
value: workflow?.artifactUrl || "missing",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "http-status",
|
||||||
|
label: "HTTP status",
|
||||||
|
value: workflow?.httpStatus == null ? "none" : String(workflow.httpStatus),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "validation-summary",
|
||||||
|
label: "Validation summary",
|
||||||
|
value: workflow?.validationSummaryViewModel?.statusLine ?? "missing",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "render-state",
|
||||||
|
label: "Render state",
|
||||||
|
value: workflow?.renderState?.statusLine ?? "missing",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "mount-result",
|
||||||
|
label: "Mount result",
|
||||||
|
value: workflow?.mountResult
|
||||||
|
? (workflow.mountResult.ready ? "ready" : workflow.mountResult.statusLine)
|
||||||
|
: "not requested",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "missing",
|
||||||
|
label: "Missing workflow evidence",
|
||||||
|
value: missing.length > 0 ? missing.join(", ") : "none",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export function createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(
|
export function createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(
|
||||||
validation = validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson("{}"),
|
validation = validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson("{}"),
|
||||||
) {
|
) {
|
||||||
@@ -3292,6 +3349,8 @@ export function createIniPanelShellViewModel(entries = getVisibleIniPanelEntries
|
|||||||
createWorkflowOverviewReadiness: createIniPanelShellWorkflowOverviewReadiness,
|
createWorkflowOverviewReadiness: createIniPanelShellWorkflowOverviewReadiness,
|
||||||
createWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel:
|
createWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel:
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
||||||
|
createWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel:
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
|
||||||
loadWorkflowOverviewReleaseReadinessArtifactUrl:
|
loadWorkflowOverviewReleaseReadinessArtifactUrl:
|
||||||
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
||||||
mountWorkflowOverviewEmbedding: mountIniPanelShellWorkflowOverviewEmbedding,
|
mountWorkflowOverviewEmbedding: mountIniPanelShellWorkflowOverviewEmbedding,
|
||||||
|
|||||||
@@ -107,6 +107,7 @@
|
|||||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
||||||
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
||||||
@@ -148,6 +149,9 @@
|
|||||||
loadWorkflowOverviewReleaseReadinessArtifactUrl: (options) => (
|
loadWorkflowOverviewReleaseReadinessArtifactUrl: (options) => (
|
||||||
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl(options)
|
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl(options)
|
||||||
),
|
),
|
||||||
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel: (workflow) => (
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(workflow)
|
||||||
|
),
|
||||||
getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel: (validation) => (
|
getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel: (validation) => (
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel(validation)
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel(validation)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -116,6 +116,7 @@ TOOL_TABLE = browser-shell-tool.tbl
|
|||||||
!launchApi?.getWorkflowOverviewReadiness ||
|
!launchApi?.getWorkflowOverviewReadiness ||
|
||||||
!launchApi?.mountWorkflowOverviewEmbedding ||
|
!launchApi?.mountWorkflowOverviewEmbedding ||
|
||||||
!launchApi?.loadWorkflowOverviewReleaseReadinessArtifactUrl ||
|
!launchApi?.loadWorkflowOverviewReleaseReadinessArtifactUrl ||
|
||||||
|
!launchApi?.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel ||
|
||||||
!launchApi?.getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel ||
|
!launchApi?.getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel ||
|
||||||
!launchApi?.getWorkflowOverviewEmbeddingReport ||
|
!launchApi?.getWorkflowOverviewEmbeddingReport ||
|
||||||
!launchApi?.getWorkflowOverviewEmbeddingDisplayViewModel ||
|
!launchApi?.getWorkflowOverviewEmbeddingDisplayViewModel ||
|
||||||
@@ -372,6 +373,14 @@ TOOL_TABLE = browser-shell-tool.tbl
|
|||||||
.loadWorkflowOverviewReleaseReadinessArtifactUrl({
|
.loadWorkflowOverviewReleaseReadinessArtifactUrl({
|
||||||
artifactUrl: "../../tests/fixtures/project-release-readiness-ready.json",
|
artifactUrl: "../../tests/fixtures/project-release-readiness-ready.json",
|
||||||
});
|
});
|
||||||
|
const workflowOverviewReleaseArtifactUrlWorkflowSummary = workflowOverviewApi
|
||||||
|
.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(
|
||||||
|
workflowOverviewReleaseArtifactUrlWorkflow,
|
||||||
|
);
|
||||||
|
const launchReleaseArtifactUrlWorkflowSummary = launchApi
|
||||||
|
.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(
|
||||||
|
launchReleaseArtifactUrlWorkflow,
|
||||||
|
);
|
||||||
const workflowOverviewEmbedding = launchApi.mountWorkflowOverviewEmbedding({
|
const workflowOverviewEmbedding = launchApi.mountWorkflowOverviewEmbedding({
|
||||||
overviewApi: workflowOverviewApi,
|
overviewApi: workflowOverviewApi,
|
||||||
});
|
});
|
||||||
@@ -478,6 +487,11 @@ TOOL_TABLE = browser-shell-tool.tbl
|
|||||||
"Ready: Artifact evidence complete",
|
"Ready: Artifact evidence complete",
|
||||||
"shell workflow overview release artifact URL workflow summary",
|
"shell workflow overview release artifact URL workflow summary",
|
||||||
);
|
);
|
||||||
|
assertEqual(
|
||||||
|
workflowOverviewReleaseArtifactUrlWorkflowSummary.statusLine,
|
||||||
|
"Ready: Artifact URL workflow complete",
|
||||||
|
"shell workflow overview release artifact URL workflow summary view model",
|
||||||
|
);
|
||||||
assertEqual(
|
assertEqual(
|
||||||
workflowOverviewReleaseArtifactUrlWorkflow.mountResult.ready,
|
workflowOverviewReleaseArtifactUrlWorkflow.mountResult.ready,
|
||||||
true,
|
true,
|
||||||
@@ -493,6 +507,11 @@ TOOL_TABLE = browser-shell-tool.tbl
|
|||||||
"Ready: Artifact evidence complete",
|
"Ready: Artifact evidence complete",
|
||||||
"launch release artifact URL workflow summary",
|
"launch release artifact URL workflow summary",
|
||||||
);
|
);
|
||||||
|
assertEqual(
|
||||||
|
launchReleaseArtifactUrlWorkflowSummary.statusLine,
|
||||||
|
workflowOverviewReleaseArtifactUrlWorkflowSummary.statusLine,
|
||||||
|
"launch release artifact URL workflow summary view model",
|
||||||
|
);
|
||||||
assertEqual(
|
assertEqual(
|
||||||
document.querySelector("[data-external-release-artifact-status]").textContent,
|
document.querySelector("[data-external-release-artifact-status]").textContent,
|
||||||
"Ready: No blocking reasons",
|
"Ready: No blocking reasons",
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
!workflowApi?.getWorkflowOverviewPersistenceSummary ||
|
!workflowApi?.getWorkflowOverviewPersistenceSummary ||
|
||||||
!workflowApi?.validateWorkflowOverviewReleaseReadinessArtifactJson ||
|
!workflowApi?.validateWorkflowOverviewReleaseReadinessArtifactJson ||
|
||||||
!workflowApi?.loadWorkflowOverviewReleaseReadinessArtifactUrl ||
|
!workflowApi?.loadWorkflowOverviewReleaseReadinessArtifactUrl ||
|
||||||
|
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel ||
|
||||||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel ||
|
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel ||
|
||||||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel ||
|
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel ||
|
||||||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactRenderState ||
|
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactRenderState ||
|
||||||
@@ -257,6 +258,8 @@
|
|||||||
artifactUrl: "../../tests/fixtures/project-release-readiness-ready.json",
|
artifactUrl: "../../tests/fixtures/project-release-readiness-ready.json",
|
||||||
mount: true,
|
mount: true,
|
||||||
});
|
});
|
||||||
|
const releaseArtifactUrlWorkflowSummary = workflowApi
|
||||||
|
.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(releaseArtifactUrlWorkflow);
|
||||||
assertEqual(releaseArtifactDomReadinessReady.ready, true, "workflow overview release artifact DOM readiness");
|
assertEqual(releaseArtifactDomReadinessReady.ready, true, "workflow overview release artifact DOM readiness");
|
||||||
assertEqual(releaseArtifactRenderResult.rendered, true, "workflow overview release artifact render result");
|
assertEqual(releaseArtifactRenderResult.rendered, true, "workflow overview release artifact render result");
|
||||||
assertEqual(releaseArtifactRenderResult.rowCount, 6, "workflow overview release artifact render row count");
|
assertEqual(releaseArtifactRenderResult.rowCount, 6, "workflow overview release artifact render row count");
|
||||||
@@ -269,6 +272,11 @@
|
|||||||
"Ready: Artifact evidence complete",
|
"Ready: Artifact evidence complete",
|
||||||
"workflow overview release artifact URL workflow summary",
|
"workflow overview release artifact URL workflow summary",
|
||||||
);
|
);
|
||||||
|
assertEqual(
|
||||||
|
releaseArtifactUrlWorkflowSummary.statusLine,
|
||||||
|
"Ready: Artifact URL workflow complete",
|
||||||
|
"workflow overview release artifact URL workflow summary view model",
|
||||||
|
);
|
||||||
assertEqual(releaseArtifactUrlWorkflow.mountResult.ready, true, "workflow overview release artifact URL workflow mount");
|
assertEqual(releaseArtifactUrlWorkflow.mountResult.ready, true, "workflow overview release artifact URL workflow mount");
|
||||||
assertEqual(releaseArtifactStatus.textContent, releaseArtifactRenderState.statusLine, "workflow overview release artifact rendered status");
|
assertEqual(releaseArtifactStatus.textContent, releaseArtifactRenderState.statusLine, "workflow overview release artifact rendered status");
|
||||||
assertEqual(
|
assertEqual(
|
||||||
|
|||||||
@@ -27,7 +27,10 @@
|
|||||||
try {
|
try {
|
||||||
const workflowDoc = await loadWorkflowOverviewFrame();
|
const workflowDoc = await loadWorkflowOverviewFrame();
|
||||||
const workflowApi = workflowDoc.defaultView.linuxCncIniPanelWorkflowOverviewApi;
|
const workflowApi = workflowDoc.defaultView.linuxCncIniPanelWorkflowOverviewApi;
|
||||||
if (!workflowApi?.loadWorkflowOverviewReleaseReadinessArtifactUrl) {
|
if (
|
||||||
|
!workflowApi?.loadWorkflowOverviewReleaseReadinessArtifactUrl ||
|
||||||
|
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel
|
||||||
|
) {
|
||||||
throw new Error("workflow overview API did not expose release artifact URL workflow");
|
throw new Error("workflow overview API did not expose release artifact URL workflow");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,6 +59,8 @@
|
|||||||
artifactUrl: "../../tests/fixtures/project-release-readiness-ready.json",
|
artifactUrl: "../../tests/fixtures/project-release-readiness-ready.json",
|
||||||
mount: true,
|
mount: true,
|
||||||
});
|
});
|
||||||
|
const readyWorkflowSummary = workflowApi
|
||||||
|
.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(readyWorkflow);
|
||||||
assertEqual(
|
assertEqual(
|
||||||
readyWorkflow.apiName,
|
readyWorkflow.apiName,
|
||||||
"ini-panel-shell-workflow-overview-release-readiness-artifact-url-workflow",
|
"ini-panel-shell-workflow-overview-release-readiness-artifact-url-workflow",
|
||||||
@@ -69,6 +74,11 @@
|
|||||||
"Ready: Artifact evidence complete",
|
"Ready: Artifact evidence complete",
|
||||||
"ready workflow validation summary",
|
"ready workflow validation summary",
|
||||||
);
|
);
|
||||||
|
assertEqual(
|
||||||
|
readyWorkflowSummary.statusLine,
|
||||||
|
"Ready: Artifact URL workflow complete",
|
||||||
|
"ready workflow summary view model",
|
||||||
|
);
|
||||||
assertEqual(readyWorkflow.renderState.statusLine, "Ready: No blocking reasons", "ready workflow status");
|
assertEqual(readyWorkflow.renderState.statusLine, "Ready: No blocking reasons", "ready workflow status");
|
||||||
assertEqual(readyWorkflow.mountResult.ready, true, "ready workflow mount readiness");
|
assertEqual(readyWorkflow.mountResult.ready, true, "ready workflow mount readiness");
|
||||||
assertEqual(readyWorkflow.mountResult.renderResult.rowCount, 6, "ready workflow mount rows");
|
assertEqual(readyWorkflow.mountResult.renderResult.rowCount, 6, "ready workflow mount rows");
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ for (const phrase of [
|
|||||||
"embedded gate manifest, result matrix, and action plan",
|
"embedded gate manifest, result matrix, and action plan",
|
||||||
"validateWorkflowOverviewReleaseReadinessArtifactJson()",
|
"validateWorkflowOverviewReleaseReadinessArtifactJson()",
|
||||||
"loadWorkflowOverviewReleaseReadinessArtifactUrl()",
|
"loadWorkflowOverviewReleaseReadinessArtifactUrl()",
|
||||||
|
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel()",
|
||||||
"render-state",
|
"render-state",
|
||||||
"DOM readiness",
|
"DOM readiness",
|
||||||
"createIniPanelShellApiSurfaceInventory()",
|
"createIniPanelShellApiSurfaceInventory()",
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import {
|
|||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
||||||
createLinuxCncIniSdk,
|
createLinuxCncIniSdk,
|
||||||
createLinuxCncInterpSdk,
|
createLinuxCncInterpSdk,
|
||||||
@@ -166,6 +167,10 @@ const requiredExports = [
|
|||||||
"createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness",
|
"createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness",
|
||||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
|
||||||
|
],
|
||||||
[
|
[
|
||||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
||||||
@@ -365,6 +370,12 @@ assert.equal(
|
|||||||
releaseReadinessArtifactUrlWorkflow.validationSummaryViewModel.statusLine,
|
releaseReadinessArtifactUrlWorkflow.validationSummaryViewModel.statusLine,
|
||||||
"Ready: Artifact evidence complete",
|
"Ready: Artifact evidence complete",
|
||||||
);
|
);
|
||||||
|
assert.equal(
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(
|
||||||
|
releaseReadinessArtifactUrlWorkflow,
|
||||||
|
).statusLine,
|
||||||
|
"Ready: Artifact URL workflow complete",
|
||||||
|
);
|
||||||
assert.equal(
|
assert.equal(
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState(
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState(
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(
|
||||||
|
|||||||
@@ -164,6 +164,7 @@ const requiredShellExports = [
|
|||||||
"mountIniPanelShellWorkflowOverviewEmbeddingMountState",
|
"mountIniPanelShellWorkflowOverviewEmbeddingMountState",
|
||||||
"validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson",
|
"validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson",
|
||||||
"loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl",
|
"loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl",
|
||||||
|
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
|
||||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
||||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
||||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState",
|
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState",
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ assert.deepEqual(manifest, {
|
|||||||
"getWorkflowOverviewReadiness",
|
"getWorkflowOverviewReadiness",
|
||||||
"mountWorkflowOverviewEmbedding",
|
"mountWorkflowOverviewEmbedding",
|
||||||
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
||||||
|
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
||||||
"getWorkflowOverviewEmbeddingReport",
|
"getWorkflowOverviewEmbeddingReport",
|
||||||
"getWorkflowOverviewEmbeddingDisplayViewModel",
|
"getWorkflowOverviewEmbeddingDisplayViewModel",
|
||||||
@@ -244,6 +245,7 @@ assert.match(launchText, /\bgetWorkflowOverviewContract\b/);
|
|||||||
assert.match(launchText, /\bgetWorkflowOverviewReadiness\b/);
|
assert.match(launchText, /\bgetWorkflowOverviewReadiness\b/);
|
||||||
assert.match(launchText, /\bmountWorkflowOverviewEmbedding\b/);
|
assert.match(launchText, /\bmountWorkflowOverviewEmbedding\b/);
|
||||||
assert.match(launchText, /\bloadWorkflowOverviewReleaseReadinessArtifactUrl\b/);
|
assert.match(launchText, /\bloadWorkflowOverviewReleaseReadinessArtifactUrl\b/);
|
||||||
|
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel\b/);
|
||||||
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel\b/);
|
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel\b/);
|
||||||
assert.match(launchText, /\bgetWorkflowOverviewEmbeddingReport\b/);
|
assert.match(launchText, /\bgetWorkflowOverviewEmbeddingReport\b/);
|
||||||
assert.match(launchText, /\bgetWorkflowOverviewEmbeddingDisplayViewModel\b/);
|
assert.match(launchText, /\bgetWorkflowOverviewEmbeddingDisplayViewModel\b/);
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ import {
|
|||||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
||||||
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
||||||
@@ -188,7 +189,7 @@ assert.deepEqual(readiness, {
|
|||||||
counts: {
|
counts: {
|
||||||
pages: 3,
|
pages: 3,
|
||||||
launcherLinks: 3,
|
launcherLinks: 3,
|
||||||
launchMethods: 60,
|
launchMethods: 61,
|
||||||
controlPageMethods: 11,
|
controlPageMethods: 11,
|
||||||
persistenceCapabilities: 3,
|
persistenceCapabilities: 3,
|
||||||
},
|
},
|
||||||
@@ -251,7 +252,7 @@ assert.deepEqual(handoffSummary, {
|
|||||||
counts: {
|
counts: {
|
||||||
pages: 3,
|
pages: 3,
|
||||||
launcherLinks: 3,
|
launcherLinks: 3,
|
||||||
launchMethods: 60,
|
launchMethods: 61,
|
||||||
controlPageMethods: 11,
|
controlPageMethods: 11,
|
||||||
persistenceCapabilities: 3,
|
persistenceCapabilities: 3,
|
||||||
},
|
},
|
||||||
@@ -791,6 +792,7 @@ assert.deepEqual(createIniPanelShellWorkflowOverviewContract(), {
|
|||||||
"getWorkflowOverviewPersistenceSummary",
|
"getWorkflowOverviewPersistenceSummary",
|
||||||
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
||||||
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
||||||
|
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
||||||
@@ -837,6 +839,7 @@ assert.equal(typeof renderIniPanelShellWorkflowOverviewEmbeddingMountState, "fun
|
|||||||
assert.equal(typeof mountIniPanelShellWorkflowOverviewEmbeddingMountState, "function");
|
assert.equal(typeof mountIniPanelShellWorkflowOverviewEmbeddingMountState, "function");
|
||||||
assert.equal(typeof validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson, "function");
|
assert.equal(typeof validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson, "function");
|
||||||
assert.equal(typeof loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl, "function");
|
assert.equal(typeof loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl, "function");
|
||||||
|
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel, "function");
|
||||||
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel, "function");
|
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel, "function");
|
||||||
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel, "function");
|
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel, "function");
|
||||||
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState, "function");
|
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState, "function");
|
||||||
@@ -852,6 +855,10 @@ assert.equal(
|
|||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel().phase,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel().phase,
|
||||||
"blocked",
|
"blocked",
|
||||||
);
|
);
|
||||||
|
assert.equal(
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel().phase,
|
||||||
|
"blocked",
|
||||||
|
);
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
createIniPanelShellWorkflowOverviewReadiness({
|
createIniPanelShellWorkflowOverviewReadiness({
|
||||||
overviewApi: {
|
overviewApi: {
|
||||||
@@ -866,6 +873,7 @@ assert.deepEqual(
|
|||||||
"getWorkflowOverviewPersistenceSummary",
|
"getWorkflowOverviewPersistenceSummary",
|
||||||
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
||||||
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
||||||
|
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
||||||
@@ -1292,7 +1300,7 @@ assert.deepEqual(createIniPanelShellIntegrationReadiness(blockedManifest), {
|
|||||||
counts: {
|
counts: {
|
||||||
pages: 3,
|
pages: 3,
|
||||||
launcherLinks: 3,
|
launcherLinks: 3,
|
||||||
launchMethods: 60,
|
launchMethods: 61,
|
||||||
controlPageMethods: 11,
|
controlPageMethods: 11,
|
||||||
persistenceCapabilities: 3,
|
persistenceCapabilities: 3,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ import {
|
|||||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
||||||
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
||||||
@@ -690,6 +691,7 @@ assert.deepEqual(shellViewModel.shellWorkflowOverviewContract, {
|
|||||||
"getWorkflowOverviewPersistenceSummary",
|
"getWorkflowOverviewPersistenceSummary",
|
||||||
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
||||||
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
|
||||||
|
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
||||||
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
||||||
@@ -1413,6 +1415,18 @@ assert.equal(
|
|||||||
assert.equal(releaseArtifactUrlWorkflow.renderState.statusLine, "Ready: No blocking reasons");
|
assert.equal(releaseArtifactUrlWorkflow.renderState.statusLine, "Ready: No blocking reasons");
|
||||||
assert.equal(releaseArtifactUrlWorkflow.mountResult.ready, true);
|
assert.equal(releaseArtifactUrlWorkflow.mountResult.ready, true);
|
||||||
assert.equal(releaseArtifactUrlWorkflow.mountResult.renderResult.rowCount, 6);
|
assert.equal(releaseArtifactUrlWorkflow.mountResult.renderResult.rowCount, 6);
|
||||||
|
const releaseArtifactUrlWorkflowSummary =
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(
|
||||||
|
releaseArtifactUrlWorkflow,
|
||||||
|
);
|
||||||
|
assert.equal(
|
||||||
|
releaseArtifactUrlWorkflowSummary.statusLine,
|
||||||
|
"Ready: Artifact URL workflow complete",
|
||||||
|
);
|
||||||
|
assert.equal(
|
||||||
|
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "validation-summary")?.value,
|
||||||
|
"Ready: Artifact evidence complete",
|
||||||
|
);
|
||||||
const releaseArtifactUrlWorkflowMissingDom = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
|
const releaseArtifactUrlWorkflowMissingDom = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
|
||||||
artifactUrl: "/project-release-readiness.json",
|
artifactUrl: "/project-release-readiness.json",
|
||||||
fetchRef: async () => ({
|
fetchRef: async () => ({
|
||||||
@@ -1452,6 +1466,7 @@ const workflowOverviewApi = {
|
|||||||
getWorkflowOverviewPersistenceSummary: () => shellViewModel.shellPersistenceSummary,
|
getWorkflowOverviewPersistenceSummary: () => shellViewModel.shellPersistenceSummary,
|
||||||
validateWorkflowOverviewReleaseReadinessArtifactJson: () => ({ ready: true }),
|
validateWorkflowOverviewReleaseReadinessArtifactJson: () => ({ ready: true }),
|
||||||
loadWorkflowOverviewReleaseReadinessArtifactUrl: loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
loadWorkflowOverviewReleaseReadinessArtifactUrl: loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
||||||
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel: () => releaseArtifactUrlWorkflowSummary,
|
||||||
getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel: () => releaseArtifactValidationSummary,
|
getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel: () => releaseArtifactValidationSummary,
|
||||||
getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel: () => releaseArtifactDisplay,
|
getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel: () => releaseArtifactDisplay,
|
||||||
getWorkflowOverviewReleaseReadinessArtifactRenderState: () => releaseArtifactRenderState,
|
getWorkflowOverviewReleaseReadinessArtifactRenderState: () => releaseArtifactRenderState,
|
||||||
|
|||||||
Reference in New Issue
Block a user