新增 release artifact URL workflow summary view model

This commit is contained in:
2026-06-16 11:44:11 +08:00
parent 4970d156c1
commit e00c7b038b
18 changed files with 225 additions and 6 deletions

View File

@@ -116,6 +116,7 @@ TOOL_TABLE = browser-shell-tool.tbl
!launchApi?.getWorkflowOverviewReadiness ||
!launchApi?.mountWorkflowOverviewEmbedding ||
!launchApi?.loadWorkflowOverviewReleaseReadinessArtifactUrl ||
!launchApi?.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel ||
!launchApi?.getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel ||
!launchApi?.getWorkflowOverviewEmbeddingReport ||
!launchApi?.getWorkflowOverviewEmbeddingDisplayViewModel ||
@@ -372,6 +373,14 @@ TOOL_TABLE = browser-shell-tool.tbl
.loadWorkflowOverviewReleaseReadinessArtifactUrl({
artifactUrl: "../../tests/fixtures/project-release-readiness-ready.json",
});
const workflowOverviewReleaseArtifactUrlWorkflowSummary = workflowOverviewApi
.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(
workflowOverviewReleaseArtifactUrlWorkflow,
);
const launchReleaseArtifactUrlWorkflowSummary = launchApi
.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(
launchReleaseArtifactUrlWorkflow,
);
const workflowOverviewEmbedding = launchApi.mountWorkflowOverviewEmbedding({
overviewApi: workflowOverviewApi,
});
@@ -478,6 +487,11 @@ TOOL_TABLE = browser-shell-tool.tbl
"Ready: Artifact evidence complete",
"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(
workflowOverviewReleaseArtifactUrlWorkflow.mountResult.ready,
true,
@@ -493,6 +507,11 @@ TOOL_TABLE = browser-shell-tool.tbl
"Ready: Artifact evidence complete",
"launch release artifact URL workflow summary",
);
assertEqual(
launchReleaseArtifactUrlWorkflowSummary.statusLine,
workflowOverviewReleaseArtifactUrlWorkflowSummary.statusLine,
"launch release artifact URL workflow summary view model",
);
assertEqual(
document.querySelector("[data-external-release-artifact-status]").textContent,
"Ready: No blocking reasons",

View File

@@ -36,6 +36,7 @@
!workflowApi?.getWorkflowOverviewPersistenceSummary ||
!workflowApi?.validateWorkflowOverviewReleaseReadinessArtifactJson ||
!workflowApi?.loadWorkflowOverviewReleaseReadinessArtifactUrl ||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel ||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel ||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel ||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactRenderState ||
@@ -257,6 +258,8 @@
artifactUrl: "../../tests/fixtures/project-release-readiness-ready.json",
mount: true,
});
const releaseArtifactUrlWorkflowSummary = workflowApi
.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(releaseArtifactUrlWorkflow);
assertEqual(releaseArtifactDomReadinessReady.ready, true, "workflow overview release artifact DOM readiness");
assertEqual(releaseArtifactRenderResult.rendered, true, "workflow overview release artifact render result");
assertEqual(releaseArtifactRenderResult.rowCount, 6, "workflow overview release artifact render row count");
@@ -269,6 +272,11 @@
"Ready: Artifact evidence complete",
"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(releaseArtifactStatus.textContent, releaseArtifactRenderState.statusLine, "workflow overview release artifact rendered status");
assertEqual(

View File

@@ -27,7 +27,10 @@
try {
const workflowDoc = await loadWorkflowOverviewFrame();
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");
}
@@ -56,6 +59,8 @@
artifactUrl: "../../tests/fixtures/project-release-readiness-ready.json",
mount: true,
});
const readyWorkflowSummary = workflowApi
.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(readyWorkflow);
assertEqual(
readyWorkflow.apiName,
"ini-panel-shell-workflow-overview-release-readiness-artifact-url-workflow",
@@ -69,6 +74,11 @@
"Ready: Artifact evidence complete",
"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.mountResult.ready, true, "ready workflow mount readiness");
assertEqual(readyWorkflow.mountResult.renderResult.rowCount, 6, "ready workflow mount rows");