推进 workflow overview 发布 artifact DOM workflow
This commit is contained in:
@@ -18,6 +18,10 @@
|
||||
<p data-external-overview-embedding-status>waiting</p>
|
||||
<dl data-external-overview-embedding-rows></dl>
|
||||
</section>
|
||||
<section data-external-release-artifact>
|
||||
<p data-external-release-artifact-status>waiting</p>
|
||||
<dl data-external-release-artifact-rows></dl>
|
||||
</section>
|
||||
<script type="module">
|
||||
function assertEqual(actual, expected, label) {
|
||||
if (actual !== expected) {
|
||||
@@ -342,6 +346,38 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
},
|
||||
],
|
||||
}));
|
||||
const workflowOverviewReleaseArtifactDisplay = workflowOverviewApi
|
||||
.getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(workflowOverviewReleaseArtifactValidation);
|
||||
const workflowOverviewReleaseArtifactRenderState = workflowOverviewApi
|
||||
.getWorkflowOverviewReleaseReadinessArtifactRenderState(workflowOverviewReleaseArtifactDisplay);
|
||||
const workflowOverviewReleaseArtifactDomContract = workflowOverviewApi
|
||||
.getWorkflowOverviewReleaseReadinessArtifactDomContract({
|
||||
rowDatasetPrefix: "externalReleaseArtifact",
|
||||
selectors: {
|
||||
mount: "[data-external-release-artifact]",
|
||||
status: "[data-external-release-artifact-status]",
|
||||
rows: "[data-external-release-artifact-rows]",
|
||||
},
|
||||
});
|
||||
const workflowOverviewReleaseArtifactDomReadiness = workflowOverviewApi
|
||||
.getWorkflowOverviewReleaseReadinessArtifactDomReadiness({
|
||||
contract: workflowOverviewReleaseArtifactDomContract,
|
||||
documentRef: document,
|
||||
});
|
||||
const workflowOverviewReleaseArtifactRenderResult = workflowOverviewApi
|
||||
.renderWorkflowOverviewReleaseReadinessArtifactState(
|
||||
workflowOverviewReleaseArtifactRenderState,
|
||||
{
|
||||
contract: workflowOverviewReleaseArtifactDomContract,
|
||||
documentRef: document,
|
||||
},
|
||||
);
|
||||
const workflowOverviewReleaseArtifactMountResult = workflowOverviewApi
|
||||
.mountWorkflowOverviewReleaseReadinessArtifactState({
|
||||
renderState: workflowOverviewReleaseArtifactRenderState,
|
||||
contract: workflowOverviewReleaseArtifactDomContract,
|
||||
documentRef: document,
|
||||
});
|
||||
const workflowOverviewEmbedding = launchApi.mountWorkflowOverviewEmbedding({
|
||||
overviewApi: workflowOverviewApi,
|
||||
});
|
||||
@@ -413,6 +449,26 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
true,
|
||||
"shell workflow overview release artifact validation readiness",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactDomReadiness.ready,
|
||||
true,
|
||||
"shell workflow overview release artifact DOM readiness",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactRenderResult.rowCount,
|
||||
3,
|
||||
"shell workflow overview release artifact render rows",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactMountResult.ready,
|
||||
true,
|
||||
"shell workflow overview release artifact mount readiness",
|
||||
);
|
||||
assertEqual(
|
||||
document.querySelector("[data-external-release-artifact-status]").textContent,
|
||||
"Ready: No blocking reasons",
|
||||
"shell workflow overview release artifact rendered status",
|
||||
);
|
||||
assertEqual(workflowOverviewEmbedding.apiName, "ini-panel-shell-workflow-overview-embedding", "shell workflow overview embedding API");
|
||||
assertEqual(workflowOverviewEmbedding.renderState.dataset.handoffScope, "workflow", "shell workflow overview embedding scope");
|
||||
assertEqual(workflowOverviewEmbedding.mountResult.renderResult.rowCount, 8, "shell workflow overview embedding rows");
|
||||
|
||||
@@ -35,6 +35,12 @@
|
||||
!workflowApi?.getWorkflowOverviewApiSurfaceInventory ||
|
||||
!workflowApi?.getWorkflowOverviewPersistenceSummary ||
|
||||
!workflowApi?.validateWorkflowOverviewReleaseReadinessArtifactJson ||
|
||||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel ||
|
||||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactRenderState ||
|
||||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactDomContract ||
|
||||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactDomReadiness ||
|
||||
!workflowApi?.renderWorkflowOverviewReleaseReadinessArtifactState ||
|
||||
!workflowApi?.mountWorkflowOverviewReleaseReadinessArtifactState ||
|
||||
!workflowApi?.getWorkflowOverviewDomContract ||
|
||||
!workflowApi?.getWorkflowOverviewDomReadiness ||
|
||||
!workflowApi?.renderWorkflowOverview ||
|
||||
@@ -95,6 +101,14 @@
|
||||
},
|
||||
],
|
||||
}));
|
||||
const releaseArtifactDisplay = workflowApi.getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(
|
||||
releaseArtifactValidation,
|
||||
);
|
||||
const releaseArtifactRenderState = workflowApi.getWorkflowOverviewReleaseReadinessArtifactRenderState(
|
||||
releaseArtifactDisplay,
|
||||
);
|
||||
const releaseArtifactDomContract = workflowApi.getWorkflowOverviewReleaseReadinessArtifactDomContract();
|
||||
const releaseArtifactDomReadinessMissing = workflowApi.getWorkflowOverviewReleaseReadinessArtifactDomReadiness();
|
||||
const domContract = workflowApi.getWorkflowOverviewDomContract();
|
||||
const domReadiness = workflowApi.getWorkflowOverviewDomReadiness();
|
||||
const renderResult = workflowApi.renderWorkflowOverview();
|
||||
@@ -147,6 +161,19 @@
|
||||
);
|
||||
assertEqual(releaseArtifactValidation.ready, true, "workflow overview release artifact validation readiness");
|
||||
assertEqual(releaseArtifactValidation.gateCount, 9, "workflow overview release artifact validation gates");
|
||||
assertEqual(releaseArtifactDisplay.statusText, "Ready", "workflow overview release artifact display status");
|
||||
assertEqual(releaseArtifactRenderState.statusLine, "Ready: No blocking reasons", "workflow overview release artifact render status");
|
||||
assertEqual(
|
||||
releaseArtifactRenderState.dataset.handoffScope,
|
||||
"workflow-overview-release-readiness-artifact",
|
||||
"workflow overview release artifact render scope",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactDomContract.selectors.mount,
|
||||
"[data-workflow-overview-release-readiness-artifact]",
|
||||
"workflow overview release artifact DOM mount selector",
|
||||
);
|
||||
assertEqual(releaseArtifactDomReadinessMissing.ready, false, "workflow overview release artifact missing DOM readiness");
|
||||
assertEqual(displayViewModel.title, "Shell handoff workflow", "workflow overview display title");
|
||||
assertEqual(renderState.renderStateVersion, 1, "workflow overview render-state version");
|
||||
assertEqual(renderState.dataset.handoffScope, "workflow", "workflow overview render-state scope");
|
||||
@@ -229,6 +256,27 @@
|
||||
assertEqual(embeddingMountDomMount.renderResult.rowCount, 7, "workflow overview embedding mount DOM mount row count");
|
||||
assertEqual(embeddingMountDomMount.error, null, "workflow overview embedding mount DOM mount error");
|
||||
assertEqual(embeddingMountStatus.textContent, embeddingMountRenderState.statusLine, "workflow overview embedding mount rendered status");
|
||||
const releaseArtifactNode = workflowDoc.createElement("section");
|
||||
releaseArtifactNode.dataset.workflowOverviewReleaseReadinessArtifact = "";
|
||||
const releaseArtifactStatus = workflowDoc.createElement("p");
|
||||
releaseArtifactStatus.dataset.workflowOverviewReleaseReadinessArtifactStatus = "";
|
||||
const releaseArtifactRows = workflowDoc.createElement("dl");
|
||||
releaseArtifactRows.dataset.workflowOverviewReleaseReadinessArtifactRows = "";
|
||||
releaseArtifactNode.append(releaseArtifactStatus, releaseArtifactRows);
|
||||
workflowDoc.body.append(releaseArtifactNode);
|
||||
const releaseArtifactDomReadinessReady = workflowApi.getWorkflowOverviewReleaseReadinessArtifactDomReadiness();
|
||||
const releaseArtifactRenderResult = workflowApi.renderWorkflowOverviewReleaseReadinessArtifactState(
|
||||
releaseArtifactRenderState,
|
||||
);
|
||||
const releaseArtifactMountResult = workflowApi.mountWorkflowOverviewReleaseReadinessArtifactState({
|
||||
renderState: releaseArtifactRenderState,
|
||||
});
|
||||
assertEqual(releaseArtifactDomReadinessReady.ready, true, "workflow overview release artifact DOM readiness");
|
||||
assertEqual(releaseArtifactRenderResult.rendered, true, "workflow overview release artifact render result");
|
||||
assertEqual(releaseArtifactRenderResult.rowCount, 3, "workflow overview release artifact render row count");
|
||||
assertEqual(releaseArtifactMountResult.ready, true, "workflow overview release artifact mount readiness");
|
||||
assertEqual(releaseArtifactMountResult.renderResult.rowCount, 3, "workflow overview release artifact mount rows");
|
||||
assertEqual(releaseArtifactStatus.textContent, releaseArtifactRenderState.statusLine, "workflow overview release artifact rendered status");
|
||||
assertEqual(
|
||||
workflowDoc.querySelector("[data-handoff-workflow]").dataset.handoffScope,
|
||||
"workflow",
|
||||
|
||||
Reference in New Issue
Block a user