补齐 release artifact URL workflow summary
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 validation summary browser API
|
- Latest completed batch: workflow overview release artifact URL workflow validation summary
|
||||||
- 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
|
||||||
@@ -44,7 +44,7 @@ The project is complete for the current scope when all of the following are true
|
|||||||
| Native sim configs baseline | Stable | Last recorded Layer 2: `total 159`, `pass 151`, `expected_fail 8`, `unexpected_fail 0`. |
|
| Native sim configs baseline | Stable | Last recorded Layer 2: `total 159`, `pass 151`, `expected_fail 8`, `unexpected_fail 0`. |
|
||||||
| OPFS/session persistence | Stable for current scope | Browser smoke passes, SDK re-exports OPFS/session helpers including `readMachineSessionReadiness()` and `createMachineSessionPersistenceSummary()`, the UI exposes `getMachineSessionPersistenceSummary()`, and `docs/opfs-session-persistence.md` defines the project-level release gate. |
|
| OPFS/session persistence | Stable for current scope | Browser smoke passes, SDK re-exports OPFS/session helpers including `readMachineSessionReadiness()` and `createMachineSessionPersistenceSummary()`, the UI exposes `getMachineSessionPersistenceSummary()`, and `docs/opfs-session-persistence.md` defines the project-level release gate. |
|
||||||
| SDK/API surface | Stable for current scope | SDK re-exports core, OPFS/session readiness/load helpers, sim-config staging, project release gate manifest/result matrix/action-plan/readiness summary view-model, project release readiness report/artifact validation summary plus URL loading workflow, INI panel entry/launcher/control-page/shell/workflow overview helpers, the session readiness workflow report, and the shell API surface inventory with a Node surface smoke. |
|
| SDK/API surface | Stable for current scope | SDK re-exports core, OPFS/session readiness/load helpers, sim-config staging, project release gate manifest/result matrix/action-plan/readiness summary view-model, project release readiness report/artifact validation summary plus URL loading workflow, INI panel entry/launcher/control-page/shell/workflow overview helpers, the session readiness workflow report, and the shell API surface inventory with a Node surface smoke. |
|
||||||
| Browser/UI workflow | Stable for current scope | Workflow overview embedding mount DOM closure is complete, and INI panel session workflows plus read-only control/shell handoff expose, render, fetch, validate, summarize, and report OPFS/session readiness, OPFS/session persistence summary, release readiness artifact validation/rendering, and API surface inventory before loading or reading WASM session state. |
|
| Browser/UI workflow | Stable for current scope | Workflow overview embedding mount DOM closure is complete, and INI panel session workflows plus read-only control/shell handoff expose, render, fetch, validate, summarize, and report OPFS/session readiness, OPFS/session persistence summary, release readiness artifact validation/rendering/URL workflow summaries, and API surface inventory before loading or reading WASM session state. |
|
||||||
| Workflow overview embedding | Stable for current scope | Report/display/render, DOM contract/readiness/renderer, mount result/display/render, mount DOM contract/readiness/renderer/wrapper exist. |
|
| Workflow overview embedding | Stable for current scope | Report/display/render, DOM contract/readiness/renderer, mount result/display/render, mount DOM contract/readiness/renderer/wrapper exist. |
|
||||||
| Host/runtime boundary proof | Stable blocked state | Host smoke passes; runtime families remain blocked and `docs/host-runtime-boundary-handoff.md` records host readiness, promotion blockers, dispatch, and evidence gates. |
|
| Host/runtime boundary proof | Stable blocked state | Host smoke passes; runtime families remain blocked and `docs/host-runtime-boundary-handoff.md` records host readiness, promotion blockers, dispatch, and evidence gates. |
|
||||||
| Documentation/release gate | Stable for current scope | `docs/project-release-handoff.md` links README, panel entry, SDK, OPFS/session, sim-config, host/runtime, source reuse, drift, tracker acceptance paths, and the machine-readable release readiness report/artifact. |
|
| Documentation/release gate | Stable for current scope | `docs/project-release-handoff.md` links README, panel entry, SDK, OPFS/session, sim-config, host/runtime, source reuse, drift, tracker acceptance paths, and the machine-readable release readiness report/artifact. |
|
||||||
|
|||||||
56
text14.txt
56
text14.txt
@@ -3308,6 +3308,62 @@ 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 validation summary
|
||||||
|
|
||||||
|
本轮继续按“每批必须产出可调用 API、可验证 workflow、可执行 gate、或真实 UI/browser 能力”推进,
|
||||||
|
把 release readiness artifact URL workflow 的返回结果补齐为可直接展示的 workflow result。外部 shell
|
||||||
|
现在只调用一次 `loadWorkflowOverviewReleaseReadinessArtifactUrl()`,即可同时获得 validation、validation
|
||||||
|
summary view-model、display view-model、render-state 和可选 DOM mount result。
|
||||||
|
|
||||||
|
完成内容:
|
||||||
|
|
||||||
|
- `loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl()` ready result 新增:
|
||||||
|
- `validationSummaryViewModel`;
|
||||||
|
- missing URL、HTTP blocked、fetch/parse blocked result 明确返回:
|
||||||
|
- `validationSummaryViewModel: null`;
|
||||||
|
- `verify_ini_panel_ui_shell.mjs` 覆盖:
|
||||||
|
- missing URL summary 为 null;
|
||||||
|
- ready URL workflow summary statusLine;
|
||||||
|
- HTTP blocked summary 为 null;
|
||||||
|
- `verify_sdk_surface.mjs` 覆盖 SDK re-export URL workflow 的 `validationSummaryViewModel.statusLine`;
|
||||||
|
- `release_artifact_url_workflow_smoke.html` 覆盖真实 browser URL workflow summary;
|
||||||
|
- `ini_panel_workflow_overview_smoke.html` 覆盖 workflow overview iframe URL workflow summary;
|
||||||
|
- `ini_panel_shell_integration_workflow_smoke.html` 覆盖 workflow overview iframe 和 launch API URL workflow summary;
|
||||||
|
- `docs/panel-entry.md`、`runtime/sdk/README.md` 记录 URL workflow result includes `validationSummaryViewModel`;
|
||||||
|
- `PROJECT_COMPLETION_TRACKER.md` 同步 latest completed batch 和 Browser/UI workflow 状态;
|
||||||
|
- 未新增控制按钮;
|
||||||
|
- 未在 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
|
||||||
|
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
|
||||||
|
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 validation summary browser API
|
四十八、2026-06-16 继续执行记录:workflow overview release artifact validation summary browser API
|
||||||
|
|
||||||
本轮继续按“每批必须产出可调用 API、可验证 workflow、可执行 gate、或真实 UI/browser 能力”推进,
|
本轮继续按“每批必须产出可调用 API、可验证 workflow、可执行 gate、或真实 UI/browser 能力”推进,
|
||||||
|
|||||||
@@ -166,7 +166,9 @@ behavior.
|
|||||||
Use `loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl()` or
|
Use `loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl()` or
|
||||||
`linuxCncIniPanelWorkflowOverviewApi.loadWorkflowOverviewReleaseReadinessArtifactUrl()`
|
`linuxCncIniPanelWorkflowOverviewApi.loadWorkflowOverviewReleaseReadinessArtifactUrl()`
|
||||||
when the shell should fetch the artifact JSON URL, validate it, and optionally
|
when the shell should fetch the artifact JSON URL, validate it, and optionally
|
||||||
mount the render-state into caller-owned DOM without executing gates.
|
mount the render-state into caller-owned DOM without executing gates. The URL
|
||||||
|
workflow result includes `validationSummaryViewModel` so callers can show
|
||||||
|
stable validation status and rows from the same fetch.
|
||||||
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
|
||||||
|
|||||||
@@ -299,7 +299,8 @@ for external browser shells:
|
|||||||
`workflow-overview.html`. Use
|
`workflow-overview.html`. Use
|
||||||
`loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl()` when a
|
`loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl()` when a
|
||||||
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.
|
optionally mount the resulting render-state into caller-owned DOM. The URL
|
||||||
|
workflow result includes `validationSummaryViewModel` for dashboards.
|
||||||
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel()`,
|
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel()`,
|
||||||
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState()`,
|
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState()`,
|
||||||
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel()`,
|
`createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel()`,
|
||||||
|
|||||||
@@ -1956,6 +1956,7 @@ export async function loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactU
|
|||||||
missing,
|
missing,
|
||||||
error: null,
|
error: null,
|
||||||
validation: null,
|
validation: null,
|
||||||
|
validationSummaryViewModel: null,
|
||||||
displayViewModel: null,
|
displayViewModel: null,
|
||||||
renderState: null,
|
renderState: null,
|
||||||
mountResult: null,
|
mountResult: null,
|
||||||
@@ -1977,6 +1978,7 @@ export async function loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactU
|
|||||||
missing: ["artifact-url"],
|
missing: ["artifact-url"],
|
||||||
error: `HTTP ${httpStatus ?? "error"}`,
|
error: `HTTP ${httpStatus ?? "error"}`,
|
||||||
validation: null,
|
validation: null,
|
||||||
|
validationSummaryViewModel: null,
|
||||||
displayViewModel: null,
|
displayViewModel: null,
|
||||||
renderState: null,
|
renderState: null,
|
||||||
mountResult: null,
|
mountResult: null,
|
||||||
@@ -1986,6 +1988,10 @@ export async function loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactU
|
|||||||
|
|
||||||
const artifactJson = await response.text();
|
const artifactJson = await response.text();
|
||||||
const validation = validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(artifactJson);
|
const validation = validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(artifactJson);
|
||||||
|
const validationSummaryViewModel =
|
||||||
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel(
|
||||||
|
validation,
|
||||||
|
);
|
||||||
const displayViewModel = createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(
|
const displayViewModel = createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(
|
||||||
validation,
|
validation,
|
||||||
);
|
);
|
||||||
@@ -2016,6 +2022,7 @@ export async function loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactU
|
|||||||
missing: workflowMissing,
|
missing: workflowMissing,
|
||||||
error: null,
|
error: null,
|
||||||
validation,
|
validation,
|
||||||
|
validationSummaryViewModel,
|
||||||
displayViewModel,
|
displayViewModel,
|
||||||
renderState,
|
renderState,
|
||||||
mountResult,
|
mountResult,
|
||||||
@@ -2032,6 +2039,7 @@ export async function loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactU
|
|||||||
missing: ["artifact-url"],
|
missing: ["artifact-url"],
|
||||||
error: error?.message ?? String(error),
|
error: error?.message ?? String(error),
|
||||||
validation: null,
|
validation: null,
|
||||||
|
validationSummaryViewModel: null,
|
||||||
displayViewModel: null,
|
displayViewModel: null,
|
||||||
renderState: null,
|
renderState: null,
|
||||||
mountResult: null,
|
mountResult: null,
|
||||||
|
|||||||
@@ -460,7 +460,7 @@ TOOL_TABLE = browser-shell-tool.tbl
|
|||||||
);
|
);
|
||||||
assertEqual(
|
assertEqual(
|
||||||
workflowOverviewReleaseArtifactRenderResult.rowCount,
|
workflowOverviewReleaseArtifactRenderResult.rowCount,
|
||||||
3,
|
6,
|
||||||
"shell workflow overview release artifact render rows",
|
"shell workflow overview release artifact render rows",
|
||||||
);
|
);
|
||||||
assertEqual(
|
assertEqual(
|
||||||
@@ -473,6 +473,11 @@ TOOL_TABLE = browser-shell-tool.tbl
|
|||||||
true,
|
true,
|
||||||
"shell workflow overview release artifact URL workflow readiness",
|
"shell workflow overview release artifact URL workflow readiness",
|
||||||
);
|
);
|
||||||
|
assertEqual(
|
||||||
|
workflowOverviewReleaseArtifactUrlWorkflow.validationSummaryViewModel.statusLine,
|
||||||
|
"Ready: Artifact evidence complete",
|
||||||
|
"shell workflow overview release artifact URL workflow summary",
|
||||||
|
);
|
||||||
assertEqual(
|
assertEqual(
|
||||||
workflowOverviewReleaseArtifactUrlWorkflow.mountResult.ready,
|
workflowOverviewReleaseArtifactUrlWorkflow.mountResult.ready,
|
||||||
true,
|
true,
|
||||||
@@ -483,6 +488,11 @@ TOOL_TABLE = browser-shell-tool.tbl
|
|||||||
true,
|
true,
|
||||||
"launch release artifact URL workflow readiness",
|
"launch release artifact URL workflow readiness",
|
||||||
);
|
);
|
||||||
|
assertEqual(
|
||||||
|
launchReleaseArtifactUrlWorkflow.validationSummaryViewModel.statusLine,
|
||||||
|
"Ready: Artifact evidence complete",
|
||||||
|
"launch release artifact URL workflow summary",
|
||||||
|
);
|
||||||
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",
|
||||||
|
|||||||
@@ -264,6 +264,11 @@
|
|||||||
assertEqual(releaseArtifactMountResult.renderResult.rowCount, 6, "workflow overview release artifact mount rows");
|
assertEqual(releaseArtifactMountResult.renderResult.rowCount, 6, "workflow overview release artifact mount rows");
|
||||||
assertEqual(releaseArtifactUrlWorkflow.ready, true, "workflow overview release artifact URL workflow readiness");
|
assertEqual(releaseArtifactUrlWorkflow.ready, true, "workflow overview release artifact URL workflow readiness");
|
||||||
assertEqual(releaseArtifactUrlWorkflow.httpStatus, 200, "workflow overview release artifact URL workflow status");
|
assertEqual(releaseArtifactUrlWorkflow.httpStatus, 200, "workflow overview release artifact URL workflow status");
|
||||||
|
assertEqual(
|
||||||
|
releaseArtifactUrlWorkflow.validationSummaryViewModel.statusLine,
|
||||||
|
"Ready: Artifact evidence complete",
|
||||||
|
"workflow overview release artifact URL workflow summary",
|
||||||
|
);
|
||||||
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(
|
||||||
|
|||||||
@@ -64,6 +64,11 @@
|
|||||||
assertEqual(readyWorkflow.ready, true, "ready workflow readiness");
|
assertEqual(readyWorkflow.ready, true, "ready workflow readiness");
|
||||||
assertEqual(readyWorkflow.httpStatus, 200, "ready workflow HTTP status");
|
assertEqual(readyWorkflow.httpStatus, 200, "ready workflow HTTP status");
|
||||||
assertEqual(readyWorkflow.validation.gateCount, 10, "ready workflow gate count");
|
assertEqual(readyWorkflow.validation.gateCount, 10, "ready workflow gate count");
|
||||||
|
assertEqual(
|
||||||
|
readyWorkflow.validationSummaryViewModel.statusLine,
|
||||||
|
"Ready: Artifact evidence complete",
|
||||||
|
"ready workflow validation summary",
|
||||||
|
);
|
||||||
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");
|
||||||
|
|||||||
@@ -352,16 +352,18 @@ assert.equal(
|
|||||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(JSON.stringify(releaseReadinessArtifact)).ready,
|
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(JSON.stringify(releaseReadinessArtifact)).ready,
|
||||||
true,
|
true,
|
||||||
);
|
);
|
||||||
|
const releaseReadinessArtifactUrlWorkflow = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
|
||||||
|
artifactUrl: "/project-release-readiness.json",
|
||||||
|
fetchRef: async () => ({
|
||||||
|
ok: true,
|
||||||
|
status: 200,
|
||||||
|
text: async () => JSON.stringify(releaseReadinessArtifact),
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
assert.equal(releaseReadinessArtifactUrlWorkflow.ready, true);
|
||||||
assert.equal(
|
assert.equal(
|
||||||
(await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
|
releaseReadinessArtifactUrlWorkflow.validationSummaryViewModel.statusLine,
|
||||||
artifactUrl: "/project-release-readiness.json",
|
"Ready: Artifact evidence complete",
|
||||||
fetchRef: async () => ({
|
|
||||||
ok: true,
|
|
||||||
status: 200,
|
|
||||||
text: async () => JSON.stringify(releaseReadinessArtifact),
|
|
||||||
}),
|
|
||||||
})).ready,
|
|
||||||
true,
|
|
||||||
);
|
);
|
||||||
assert.equal(
|
assert.equal(
|
||||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState(
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState(
|
||||||
|
|||||||
@@ -1380,6 +1380,10 @@ assert.equal(
|
|||||||
(await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl()).statusLine,
|
(await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl()).statusLine,
|
||||||
"Blocked: artifact-url",
|
"Blocked: artifact-url",
|
||||||
);
|
);
|
||||||
|
assert.equal(
|
||||||
|
(await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl()).validationSummaryViewModel,
|
||||||
|
null,
|
||||||
|
);
|
||||||
const releaseArtifactUrlWorkflow = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
|
const releaseArtifactUrlWorkflow = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
|
||||||
artifactUrl: "/project-release-readiness.json",
|
artifactUrl: "/project-release-readiness.json",
|
||||||
fetchRef: async (url) => ({
|
fetchRef: async (url) => ({
|
||||||
@@ -1402,6 +1406,10 @@ assert.equal(
|
|||||||
assert.equal(releaseArtifactUrlWorkflow.ready, true);
|
assert.equal(releaseArtifactUrlWorkflow.ready, true);
|
||||||
assert.equal(releaseArtifactUrlWorkflow.httpStatus, 200);
|
assert.equal(releaseArtifactUrlWorkflow.httpStatus, 200);
|
||||||
assert.equal(releaseArtifactUrlWorkflow.validation.ready, true);
|
assert.equal(releaseArtifactUrlWorkflow.validation.ready, true);
|
||||||
|
assert.equal(
|
||||||
|
releaseArtifactUrlWorkflow.validationSummaryViewModel.statusLine,
|
||||||
|
"Ready: Artifact evidence complete",
|
||||||
|
);
|
||||||
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);
|
||||||
@@ -1426,6 +1434,7 @@ const releaseArtifactUrlWorkflowHttpBlocked = await loadIniPanelShellWorkflowOve
|
|||||||
});
|
});
|
||||||
assert.equal(releaseArtifactUrlWorkflowHttpBlocked.ready, false);
|
assert.equal(releaseArtifactUrlWorkflowHttpBlocked.ready, false);
|
||||||
assert.equal(releaseArtifactUrlWorkflowHttpBlocked.statusLine, "Blocked: HTTP 404");
|
assert.equal(releaseArtifactUrlWorkflowHttpBlocked.statusLine, "Blocked: HTTP 404");
|
||||||
|
assert.equal(releaseArtifactUrlWorkflowHttpBlocked.validationSummaryViewModel, null);
|
||||||
assert.deepEqual(createIniPanelShellWorkflowOverviewReadiness(), {
|
assert.deepEqual(createIniPanelShellWorkflowOverviewReadiness(), {
|
||||||
apiName: "ini-panel-shell-workflow-overview-readiness",
|
apiName: "ini-panel-shell-workflow-overview-readiness",
|
||||||
readinessVersion: 1,
|
readinessVersion: 1,
|
||||||
|
|||||||
Reference in New Issue
Block a user