推进 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",
|
||||
|
||||
@@ -35,6 +35,8 @@ for (const phrase of [
|
||||
"parseProjectReleaseReadinessArtifactJson()",
|
||||
"createProjectReleaseReadinessArtifactValidation()",
|
||||
"validateWorkflowOverviewReleaseReadinessArtifactJson()",
|
||||
"render-state",
|
||||
"DOM readiness",
|
||||
"createIniPanelShellApiSurfaceInventory()",
|
||||
"createIniPanelShellSessionReadinessWorkflowReport()",
|
||||
"workflow overview embedding mount DOM",
|
||||
|
||||
@@ -22,6 +22,10 @@ import {
|
||||
createIniPanelShellWorkflowOverviewContract,
|
||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
||||
createLinuxCncIniSdk,
|
||||
createLinuxCncInterpSdk,
|
||||
createMachineSessionSnapshotPayload,
|
||||
@@ -50,12 +54,14 @@ import {
|
||||
machineFilePaths,
|
||||
machineIniPath,
|
||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
normalizeOpfsPath,
|
||||
parameterFilePath,
|
||||
planIniFileContextStaging,
|
||||
planSimConfigStaging,
|
||||
readMachineSessionReadiness,
|
||||
renderIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
restoreMachineParametersFromOpfs,
|
||||
saveMachineSessionSnapshot,
|
||||
saveMachineTextFiles,
|
||||
@@ -141,14 +147,38 @@ const requiredExports = [
|
||||
"createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness",
|
||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState",
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract",
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness",
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
||||
],
|
||||
[
|
||||
"renderIniPanelShellWorkflowOverviewEmbeddingMountState",
|
||||
renderIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
],
|
||||
[
|
||||
"renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState",
|
||||
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
],
|
||||
[
|
||||
"mountIniPanelShellWorkflowOverviewEmbeddingMountState",
|
||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
],
|
||||
[
|
||||
"mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState",
|
||||
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
],
|
||||
];
|
||||
|
||||
for (const [name, value] of requiredExports) {
|
||||
@@ -250,6 +280,19 @@ assert.equal(
|
||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(JSON.stringify(releaseReadinessArtifact)).ready,
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState(
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(
|
||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(JSON.stringify(releaseReadinessArtifact)),
|
||||
),
|
||||
).dataset.handoffScope,
|
||||
"workflow-overview-release-readiness-artifact",
|
||||
);
|
||||
assert.equal(
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract().selectors.rows,
|
||||
"[data-workflow-overview-release-readiness-artifact-rows]",
|
||||
);
|
||||
assert.equal(createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness().ready, false);
|
||||
assert.equal(
|
||||
createProjectReleaseReadinessReport({
|
||||
observedOutputs: ["project_release_gate=ok"],
|
||||
|
||||
@@ -54,6 +54,12 @@ import {
|
||||
renderIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
||||
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
renderIniPanelShellSessionHandoffWorkflowState,
|
||||
mountIniPanelShellSessionHandoffWorkflow,
|
||||
renderIniPanelShellSessionHandoffMountState,
|
||||
@@ -156,6 +162,12 @@ const requiredShellExports = [
|
||||
"renderIniPanelShellWorkflowOverviewEmbeddingMountState",
|
||||
"mountIniPanelShellWorkflowOverviewEmbeddingMountState",
|
||||
"validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson",
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState",
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract",
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness",
|
||||
"renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState",
|
||||
"mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState",
|
||||
"renderIniPanelShellSessionHandoffWorkflowState",
|
||||
"mountIniPanelShellSessionHandoffWorkflow",
|
||||
"renderIniPanelShellSessionHandoffMountState",
|
||||
|
||||
@@ -52,6 +52,12 @@ import {
|
||||
renderIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
||||
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
renderIniPanelShellSessionHandoffWorkflowState,
|
||||
mountIniPanelShellSessionHandoffWorkflow,
|
||||
createIniPanelShellSessionHandoffPackageReport,
|
||||
@@ -782,6 +788,12 @@ assert.deepEqual(createIniPanelShellWorkflowOverviewContract(), {
|
||||
"getWorkflowOverviewApiSurfaceInventory",
|
||||
"getWorkflowOverviewPersistenceSummary",
|
||||
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactDomContract",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactDomReadiness",
|
||||
"renderWorkflowOverviewReleaseReadinessArtifactState",
|
||||
"mountWorkflowOverviewReleaseReadinessArtifactState",
|
||||
"getWorkflowOverviewDomContract",
|
||||
"getWorkflowOverviewDomReadiness",
|
||||
"renderWorkflowOverview",
|
||||
@@ -820,6 +832,12 @@ assert.equal(typeof createIniPanelShellWorkflowOverviewEmbeddingMountDomReadines
|
||||
assert.equal(typeof renderIniPanelShellWorkflowOverviewEmbeddingMountState, "function");
|
||||
assert.equal(typeof mountIniPanelShellWorkflowOverviewEmbeddingMountState, "function");
|
||||
assert.equal(typeof validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson, "function");
|
||||
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel, "function");
|
||||
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState, "function");
|
||||
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract, "function");
|
||||
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness, "function");
|
||||
assert.equal(typeof renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState, "function");
|
||||
assert.equal(typeof mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState, "function");
|
||||
assert.equal(
|
||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson("{}").apiName,
|
||||
"ini-panel-shell-workflow-overview-release-readiness-artifact-validation",
|
||||
@@ -837,6 +855,12 @@ assert.deepEqual(
|
||||
"getWorkflowOverviewSummary",
|
||||
"getWorkflowOverviewPersistenceSummary",
|
||||
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactDomContract",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactDomReadiness",
|
||||
"renderWorkflowOverviewReleaseReadinessArtifactState",
|
||||
"mountWorkflowOverviewReleaseReadinessArtifactState",
|
||||
"getWorkflowOverviewDomContract",
|
||||
"getWorkflowOverviewDomReadiness",
|
||||
"renderWorkflowOverview",
|
||||
|
||||
@@ -52,6 +52,12 @@ import {
|
||||
renderIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
||||
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
renderIniPanelShellSessionHandoffWorkflowState,
|
||||
mountIniPanelShellSessionHandoffWorkflow,
|
||||
renderIniPanelShellSessionHandoffMountState,
|
||||
@@ -676,6 +682,12 @@ assert.deepEqual(shellViewModel.shellWorkflowOverviewContract, {
|
||||
"getWorkflowOverviewApiSurfaceInventory",
|
||||
"getWorkflowOverviewPersistenceSummary",
|
||||
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactDomContract",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactDomReadiness",
|
||||
"renderWorkflowOverviewReleaseReadinessArtifactState",
|
||||
"mountWorkflowOverviewReleaseReadinessArtifactState",
|
||||
"getWorkflowOverviewDomContract",
|
||||
"getWorkflowOverviewDomReadiness",
|
||||
"renderWorkflowOverview",
|
||||
@@ -1313,6 +1325,56 @@ assert.equal(
|
||||
assert.equal(releaseArtifactValidation.ready, true);
|
||||
assert.equal(releaseArtifactValidation.validation.ready, true);
|
||||
assert.equal(releaseArtifactValidation.gateCount, 9);
|
||||
const releaseArtifactDisplay = createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(
|
||||
releaseArtifactValidation,
|
||||
);
|
||||
const releaseArtifactRenderState = createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState(
|
||||
releaseArtifactDisplay,
|
||||
);
|
||||
assert.equal(releaseArtifactDisplay.statusText, "Ready");
|
||||
assert.equal(releaseArtifactRenderState.statusLine, "Ready: No blocking reasons");
|
||||
assert.equal(releaseArtifactRenderState.dataset.handoffScope, "workflow-overview-release-readiness-artifact");
|
||||
assert.equal(
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract().selectors.mount,
|
||||
"[data-workflow-overview-release-readiness-artifact]",
|
||||
);
|
||||
assert.equal(createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness().ready, false);
|
||||
const releaseArtifactMountNode = mountDocument.createElement("section");
|
||||
releaseArtifactMountNode.dataset.workflowOverviewReleaseReadinessArtifact = "";
|
||||
const releaseArtifactStatusNode = mountDocument.createElement("p");
|
||||
releaseArtifactStatusNode.dataset.workflowOverviewReleaseReadinessArtifactStatus = "";
|
||||
const releaseArtifactRowsNode = {
|
||||
...mountDocument.createElement("dl"),
|
||||
children: [],
|
||||
replaceChildren() {
|
||||
this.children = [];
|
||||
},
|
||||
append(...nodes) {
|
||||
this.children.push(...nodes);
|
||||
},
|
||||
};
|
||||
releaseArtifactRowsNode.dataset.workflowOverviewReleaseReadinessArtifactRows = "";
|
||||
const releaseArtifactRenderResult = renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState(
|
||||
releaseArtifactRenderState,
|
||||
{
|
||||
documentRef: mountDocument,
|
||||
mountNode: releaseArtifactMountNode,
|
||||
statusNode: releaseArtifactStatusNode,
|
||||
rowsNode: releaseArtifactRowsNode,
|
||||
},
|
||||
);
|
||||
const releaseArtifactMountResult = mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState({
|
||||
renderState: releaseArtifactRenderState,
|
||||
documentRef: mountDocument,
|
||||
mountNode: releaseArtifactMountNode,
|
||||
statusNode: releaseArtifactStatusNode,
|
||||
rowsNode: releaseArtifactRowsNode,
|
||||
});
|
||||
assert.equal(releaseArtifactRenderResult.rendered, true);
|
||||
assert.equal(releaseArtifactRenderResult.rowCount, 3);
|
||||
assert.equal(releaseArtifactRenderResult.dataset.handoffScope, "workflow-overview-release-readiness-artifact");
|
||||
assert.equal(releaseArtifactMountResult.ready, true);
|
||||
assert.equal(releaseArtifactMountResult.renderResult.rowCount, 3);
|
||||
assert.deepEqual(
|
||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson("{").missing,
|
||||
["artifact-json"],
|
||||
@@ -1333,6 +1395,12 @@ const workflowOverviewApi = {
|
||||
getWorkflowOverviewApiSurfaceInventory: () => shellViewModel.shellApiSurfaceInventory,
|
||||
getWorkflowOverviewPersistenceSummary: () => shellViewModel.shellPersistenceSummary,
|
||||
validateWorkflowOverviewReleaseReadinessArtifactJson: () => ({ ready: true }),
|
||||
getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel: () => releaseArtifactDisplay,
|
||||
getWorkflowOverviewReleaseReadinessArtifactRenderState: () => releaseArtifactRenderState,
|
||||
getWorkflowOverviewReleaseReadinessArtifactDomContract: createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
||||
getWorkflowOverviewReleaseReadinessArtifactDomReadiness: createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
||||
renderWorkflowOverviewReleaseReadinessArtifactState: renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
mountWorkflowOverviewReleaseReadinessArtifactState: mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
||||
getWorkflowOverviewDomContract: createIniPanelShellSessionHandoffWorkflowDomContract,
|
||||
getWorkflowOverviewDomReadiness: createIniPanelShellSessionHandoffWorkflowDomReadiness,
|
||||
renderWorkflowOverview: renderIniPanelShellSessionHandoffWorkflowState,
|
||||
|
||||
Reference in New Issue
Block a user