按text32继续推进evidence expansion过滤预设
结论:已完成 evidence expansion family/source filter 的 summary/action-plan、query/hash 预选、UI/API/SDK/浏览器验证覆盖,并保持 sim-config inventory baseline=82/82/77/0。
This commit is contained in:
@@ -244,7 +244,7 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
"shell handoff action-plan next steps",
|
||||
);
|
||||
assertEqual(handoffChecklist.ready, true, "shell handoff checklist readiness");
|
||||
assertEqual(handoffChecklist.checks.length, 5, "shell handoff checklist checks");
|
||||
assertEqual(handoffChecklist.checks.length, 11, "shell handoff checklist checks");
|
||||
assertEqual(
|
||||
handoffChecklist.checks.map(({ status }) => status).join(","),
|
||||
"pass,pass,pass,pass,pass",
|
||||
@@ -1041,14 +1041,29 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-full-candidate-list")?.value,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins",
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins, trt-boat-xyzbc, trt-impeller-7bl-xyzac, trt-xyzac-switchkins-test-1, trt-xyzac-switchkins-test-2, trt-xyzac-switchkins-test-3, trt-xyzbc-switchkins",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion full candidate list",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-full-gcode-list")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion full gcode list",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-family-count")?.value,
|
||||
"3 families",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion family count",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-family-summary")?.value,
|
||||
"woodpecker: 1/1 ready; vismach-remap-sims: 2/2 ready; five-axis-trt: 8/8 ready",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion family summary",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-family-source-count-list")?.value,
|
||||
"woodpecker:3, vismach-remap-sims:6, five-axis-trt:12",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion family source count",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowRenderResult.rowIds.includes("hard-block-runtime-lock"),
|
||||
true,
|
||||
|
||||
@@ -33,9 +33,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
async function loadWorkflowOverviewFrame() {
|
||||
async function loadWorkflowOverviewFrame(
|
||||
src = "../../runtime/ui/ini-panel/workflow-overview.html",
|
||||
) {
|
||||
const frame = document.createElement("iframe");
|
||||
frame.src = "../../runtime/ui/ini-panel/workflow-overview.html";
|
||||
frame.src = src;
|
||||
document.body.appendChild(frame);
|
||||
await new Promise((resolve, reject) => {
|
||||
frame.addEventListener("load", resolve, { once: true });
|
||||
@@ -72,6 +74,17 @@
|
||||
!workflowApi?.renderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState ||
|
||||
!workflowApi?.mountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState ||
|
||||
!workflowApi?.getWorkflowOverviewPromotionFamilyRowsRenderState ||
|
||||
!workflowApi?.getWorkflowOverviewEvidenceExpansionFamilyRowsRenderState ||
|
||||
!workflowApi?.getWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel ||
|
||||
!workflowApi?.getWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract ||
|
||||
!workflowApi?.getWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness ||
|
||||
!workflowApi?.getWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary ||
|
||||
!workflowApi?.getWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan ||
|
||||
!workflowApi?.getWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan ||
|
||||
!workflowApi?.handleWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange ||
|
||||
!workflowApi?.bindWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls ||
|
||||
!workflowApi?.renderWorkflowOverviewEvidenceExpansionFamilySourceFilterState ||
|
||||
!workflowApi?.mountWorkflowOverviewEvidenceExpansionFamilySourceFilterState ||
|
||||
!workflowApi?.getWorkflowOverviewPromotionFamilySourceFilterViewModel ||
|
||||
!workflowApi?.getWorkflowOverviewPromotionFamilySourceFilterDomContract ||
|
||||
!workflowApi?.getWorkflowOverviewPromotionFamilySourceFilterDomReadiness ||
|
||||
@@ -741,12 +754,12 @@
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-full-candidate-list")?.value,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins",
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins, trt-boat-xyzbc, trt-impeller-7bl-xyzac, trt-xyzac-switchkins-test-1, trt-xyzac-switchkins-test-2, trt-xyzac-switchkins-test-3, trt-xyzbc-switchkins",
|
||||
"workflow overview release artifact URL workflow evidence expansion full candidate list",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-full-gcode-list")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc",
|
||||
"workflow overview release artifact URL workflow evidence expansion full gcode list",
|
||||
);
|
||||
assertEqual(
|
||||
@@ -1042,14 +1055,29 @@
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-full-candidate-list"]').textContent,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins",
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins, trt-boat-xyzbc, trt-impeller-7bl-xyzac, trt-xyzac-switchkins-test-1, trt-xyzac-switchkins-test-2, trt-xyzac-switchkins-test-3, trt-xyzbc-switchkins",
|
||||
"workflow overview fixed URL workflow form evidence expansion full candidate list row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-full-gcode-list"]').textContent,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc",
|
||||
"workflow overview fixed URL workflow form evidence expansion full gcode list row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-family-count"]').textContent,
|
||||
"3 families",
|
||||
"workflow overview fixed URL workflow form evidence expansion family count row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-family-summary"]').textContent,
|
||||
"woodpecker: 1/1 ready; vismach-remap-sims: 2/2 ready; five-axis-trt: 8/8 ready",
|
||||
"workflow overview fixed URL workflow form evidence expansion family summary row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-family-source-count-list"]').textContent,
|
||||
"woodpecker:3, vismach-remap-sims:6, five-axis-trt:12",
|
||||
"workflow overview fixed URL workflow form evidence expansion family source count row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="virtual-hal-promotion-source-file-count"]').textContent,
|
||||
"17 source files",
|
||||
@@ -1198,6 +1226,142 @@
|
||||
"0",
|
||||
"workflow overview source filter changed rose engine promotion allowed",
|
||||
);
|
||||
const evidenceExpansionSourceFilterMount = workflowDoc.querySelector("[data-workflow-overview-evidence-expansion-family-source-filter]");
|
||||
const evidenceExpansionSourceFilterFamilySelect = workflowDoc.querySelector(
|
||||
'[data-workflow-overview-evidence-expansion-family-source-filter-select="family"]',
|
||||
);
|
||||
const evidenceExpansionSourceFilterKindSelect = workflowDoc.querySelector(
|
||||
'[data-workflow-overview-evidence-expansion-family-source-filter-select="source-kind"]',
|
||||
);
|
||||
assertEqual(
|
||||
evidenceExpansionSourceFilterMount.dataset.selectedFamilyId,
|
||||
"all",
|
||||
"workflow overview evidence expansion source filter default family",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.body.dataset.evidenceExpansionFamilySourceFilterReady,
|
||||
"true",
|
||||
"workflow overview evidence expansion source filter ready",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.body.dataset.evidenceExpansionFamilySourceFilterCount,
|
||||
"21",
|
||||
"workflow overview evidence expansion source filter default source count",
|
||||
);
|
||||
evidenceExpansionSourceFilterFamilySelect.value = "evidence-expansion-family-five-axis-trt";
|
||||
evidenceExpansionSourceFilterKindSelect.value = "gcode";
|
||||
evidenceExpansionSourceFilterFamilySelect.dispatchEvent(new Event("change", { bubbles: true }));
|
||||
assertEqual(
|
||||
workflowDoc.body.dataset.evidenceExpansionFamilySourceFilterFamily,
|
||||
"evidence-expansion-family-five-axis-trt",
|
||||
"workflow overview evidence expansion source filter change body family",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.body.dataset.evidenceExpansionFamilySourceFilterSourceKind,
|
||||
"gcode",
|
||||
"workflow overview evidence expansion source filter change body source kind",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.body.dataset.evidenceExpansionFamilySourceFilterCount,
|
||||
"8",
|
||||
"workflow overview evidence expansion source filter changed source count",
|
||||
);
|
||||
assertEqual(
|
||||
evidenceExpansionSourceFilterMount.dataset.handoffScope,
|
||||
"workflow-overview-evidence-expansion-family-source-filter",
|
||||
"workflow overview evidence expansion source filter scope",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelectorAll(
|
||||
'[data-workflow-overview-evidence-expansion-family-source-filter-type="source-row"]',
|
||||
).length,
|
||||
16,
|
||||
"workflow overview evidence expansion source filter changed source DOM nodes",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelectorAll(
|
||||
'[data-workflow-overview-evidence-expansion-family-source-filter-type="candidate-row"]',
|
||||
).length,
|
||||
16,
|
||||
"workflow overview evidence expansion source filter changed candidate DOM nodes",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector(
|
||||
'[data-workflow-overview-evidence-expansion-family-source-filter-type="candidate-row"][data-workflow-overview-evidence-expansion-family-source-filter-value="linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"]',
|
||||
)?.dataset.workflowOverviewEvidenceExpansionFamilySourceFilterCandidateStatus,
|
||||
"evidence-expansion-ready",
|
||||
"workflow overview evidence expansion source filter TRT candidate status",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector(
|
||||
'[data-workflow-overview-evidence-expansion-family-source-filter-type="candidate-row"][data-workflow-overview-evidence-expansion-family-source-filter-value="linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"]',
|
||||
)?.dataset.workflowOverviewEvidenceExpansionFamilySourceFilterPromotionAllowed,
|
||||
"0",
|
||||
"workflow overview evidence expansion source filter promotion allowed",
|
||||
);
|
||||
const presetWorkflowDoc = await loadWorkflowOverviewFrame(
|
||||
"../../runtime/ui/ini-panel/workflow-overview.html?evidenceExpansionFamily=evidence-expansion-family-five-axis-trt&evidenceExpansionSourceKind=gcode",
|
||||
);
|
||||
const presetWorkflowApi = presetWorkflowDoc.defaultView.linuxCncIniPanelWorkflowOverviewApi;
|
||||
presetWorkflowDoc.querySelector("[data-release-artifact-url-input]").value =
|
||||
"../../tests/fixtures/project-release-readiness-ready.json";
|
||||
presetWorkflowDoc.querySelector("[data-browser-diagnostics-url-input]").value =
|
||||
"../../tests/fixtures/real-browser-simulation-diagnostics-ready.json";
|
||||
const presetReleaseArtifactUrlFormResult = await presetWorkflowApi.runWorkflowOverviewReleaseReadinessArtifactUrlForm({
|
||||
fetchRef: async (url) => {
|
||||
if (String(url).endsWith("real-browser-simulation-diagnostics-ready.json")) {
|
||||
return {
|
||||
ok: true,
|
||||
status: 200,
|
||||
text: async () => diagnosticsArtifactJson,
|
||||
};
|
||||
}
|
||||
return fetch(url);
|
||||
},
|
||||
});
|
||||
const presetEvidenceExpansionSourceFilterMount = presetWorkflowDoc.querySelector(
|
||||
"[data-workflow-overview-evidence-expansion-family-source-filter]",
|
||||
);
|
||||
assertEqual(
|
||||
presetWorkflowDoc.body.dataset.evidenceExpansionFamilySourceFilterFamily,
|
||||
"evidence-expansion-family-five-axis-trt",
|
||||
"workflow overview evidence expansion query preset body family",
|
||||
);
|
||||
assertEqual(
|
||||
presetWorkflowDoc.body.dataset.evidenceExpansionFamilySourceFilterSourceKind,
|
||||
"gcode",
|
||||
"workflow overview evidence expansion query preset body source kind",
|
||||
);
|
||||
assertEqual(
|
||||
presetWorkflowDoc.body.dataset.evidenceExpansionFamilySourceFilterCount,
|
||||
"8",
|
||||
"workflow overview evidence expansion query preset source count",
|
||||
);
|
||||
assertEqual(
|
||||
presetWorkflowDoc.body.dataset.evidenceExpansionFamilySourceFilterSummary,
|
||||
"Ready: evidence expansion filter evidence-expansion-family-five-axis-trt / gcode is externally readable",
|
||||
"workflow overview evidence expansion query preset summary",
|
||||
);
|
||||
assertEqual(
|
||||
presetEvidenceExpansionSourceFilterMount.dataset.selectedFamilyId,
|
||||
"evidence-expansion-family-five-axis-trt",
|
||||
"workflow overview evidence expansion query preset mount family",
|
||||
);
|
||||
assertEqual(
|
||||
presetEvidenceExpansionSourceFilterMount.dataset.selectedSourceKind,
|
||||
"gcode",
|
||||
"workflow overview evidence expansion query preset mount source kind",
|
||||
);
|
||||
assertEqual(
|
||||
presetReleaseArtifactUrlFormResult.evidenceExpansionFamilySourceFilterSummary.filteredSourceFileCount,
|
||||
8,
|
||||
"workflow overview evidence expansion query preset summary source count",
|
||||
);
|
||||
assertEqual(
|
||||
presetReleaseArtifactUrlFormResult.evidenceExpansionFamilySourceFilterActionPlan.baselineChanging,
|
||||
false,
|
||||
"workflow overview evidence expansion query preset baseline unchanged",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactJsonWorkflow.statusLine,
|
||||
"Ready: Artifact JSON workflow complete",
|
||||
|
||||
@@ -669,8 +669,8 @@
|
||||
!diagnosticsArtifact.virtualHalSimConfigSourceCoverage?.sourceFiles?.includes("linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/qtdragon_hd_z_compensation.ini") ||
|
||||
diagnosticsArtifact.virtualHalSimConfigPromotionCandidates?.complete !== true ||
|
||||
diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.complete !== true ||
|
||||
diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.candidateCount !== 5 ||
|
||||
diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.readyCandidateCount !== 5 ||
|
||||
diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.candidateCount !== 11 ||
|
||||
diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.readyCandidateCount !== 11 ||
|
||||
diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.promotionAllowed !== false ||
|
||||
!diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.rows?.some((row) =>
|
||||
row.id === "trt-boat-xyzac" &&
|
||||
@@ -699,12 +699,15 @@
|
||||
doc.body.dataset.promotionCandidateReady !== "true" ||
|
||||
doc.body.dataset.promotionCandidatePreferred !== "qtdragon-multi-joint-on-abort" ||
|
||||
doc.body.dataset.evidenceExpansionReady !== "true" ||
|
||||
doc.body.dataset.evidenceExpansionCount !== "5" ||
|
||||
doc.body.dataset.evidenceExpansionReadyCount !== "5" ||
|
||||
doc.body.dataset.evidenceExpansionCount !== "11" ||
|
||||
doc.body.dataset.evidenceExpansionReadyCount !== "11" ||
|
||||
api.getVirtualHalEvidenceExpansionSummary?.().ready !== true ||
|
||||
api.getVirtualHalEvidenceExpansionSummary?.().candidateIds?.join(", ") !== "woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins" ||
|
||||
doc.querySelector('[data-evidence-expansion-summary-value="candidate-count"]')?.textContent !== "5/5 ready" ||
|
||||
doc.querySelector('[data-evidence-expansion-summary-value="candidate-list"]')?.textContent !== "woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins" ||
|
||||
api.getVirtualHalEvidenceExpansionSummary?.().candidateIds?.join(", ") !== "woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins, trt-boat-xyzbc, trt-impeller-7bl-xyzac, trt-xyzac-switchkins-test-1, trt-xyzac-switchkins-test-2, trt-xyzac-switchkins-test-3, trt-xyzbc-switchkins" ||
|
||||
doc.querySelector('[data-evidence-expansion-summary-value="candidate-count"]')?.textContent !== "11/11 ready" ||
|
||||
doc.querySelector('[data-evidence-expansion-summary-value="candidate-list"]')?.textContent !== "woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins, trt-boat-xyzbc, trt-impeller-7bl-xyzac, trt-xyzac-switchkins-test-1, trt-xyzac-switchkins-test-2, trt-xyzac-switchkins-test-3, trt-xyzbc-switchkins" ||
|
||||
doc.querySelector('[data-evidence-expansion-summary-value="family-count"]')?.textContent !== "3" ||
|
||||
doc.querySelector('[data-evidence-expansion-summary-value="family-summary"]')?.textContent !== "woodpecker: 1/1 ready; vismach-remap-sims: 2/2 ready; five-axis-trt: 8/8 ready" ||
|
||||
doc.querySelector('[data-evidence-expansion-summary-value="family-source-count-list"]')?.textContent !== "woodpecker:3, vismach-remap-sims:6, five-axis-trt:12" ||
|
||||
doc.querySelector('[data-evidence-expansion-summary-value="promotion-allowed"]')?.textContent !== "0 baseline changes" ||
|
||||
doc.querySelector('[data-evidence-expansion-summary-value="inventory-baseline"]')?.textContent !== "unchanged" ||
|
||||
doc.querySelector('[data-promotion-candidate-summary-value="preferred-candidate"]')?.textContent !== "qtdragon-multi-joint-on-abort" ||
|
||||
|
||||
@@ -79,11 +79,31 @@ for (const phrase of [
|
||||
"incremental_repetition_g533.ngc",
|
||||
"trt-boat-xyzac",
|
||||
"trt-xyzac-switchkins",
|
||||
"candidateCount=5",
|
||||
"readyCandidateCount=5",
|
||||
"trt-boat-xyzbc",
|
||||
"trt-impeller-7bl-xyzac",
|
||||
"trt-xyzac-switchkins-test-1",
|
||||
"trt-xyzac-switchkins-test-2",
|
||||
"trt-xyzac-switchkins-test-3",
|
||||
"trt-xyzbc-switchkins",
|
||||
"candidateCount=11",
|
||||
"readyCandidateCount=11",
|
||||
"real-browser-simulation-evidence-expansion-summary",
|
||||
"evidence-expansion-full-candidate-list",
|
||||
"evidence-expansion-full-gcode-list",
|
||||
"evidence-expansion-family-count",
|
||||
"evidence-expansion-family-summary",
|
||||
"evidence-expansion-family-source-count-list",
|
||||
"woodpecker: 1/1 ready; sources=3",
|
||||
"vismach-remap-sims: 2/2 ready; sources=6",
|
||||
"five-axis-trt: 8/8 ready; sources=12",
|
||||
"2026-06-20 Evidence Expansion Source Filter",
|
||||
"getWorkflowOverviewEvidenceExpansionFamilyRowsRenderState",
|
||||
"getWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel",
|
||||
"renderWorkflowOverviewEvidenceExpansionFamilySourceFilterState",
|
||||
"mountWorkflowOverviewEvidenceExpansionFamilySourceFilterState",
|
||||
"21 source files",
|
||||
"11 evidence-expansion candidate rows",
|
||||
"evidence-expansion-family-five-axis-trt / gcode => 8 source files, 8 candidates",
|
||||
"Browser and Node simulation no longer need host `halcmd`, `halrun`, or a",
|
||||
"servo-period stepping",
|
||||
"8 diagnostics-ready candidates across 3 families and 17 source files",
|
||||
|
||||
@@ -302,11 +302,11 @@ assert.equal(
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-full-candidate-list")?.value,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins",
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins, trt-boat-xyzbc, trt-impeller-7bl-xyzac, trt-xyzac-switchkins-test-1, trt-xyzac-switchkins-test-2, trt-xyzac-switchkins-test-3, trt-xyzbc-switchkins",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-full-gcode-list")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-artifact")?.value,
|
||||
@@ -388,8 +388,14 @@ assert.deepEqual(
|
||||
["evidence-expansion-candidate-list", "woodpecker-on-abort, puma-cube, melfa-example"],
|
||||
["evidence-expansion-gcode-list", "linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc"],
|
||||
["evidence-expansion-source-count-list", "3, 3, 3"],
|
||||
["evidence-expansion-full-candidate-list", "woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins"],
|
||||
["evidence-expansion-full-gcode-list", "linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc"],
|
||||
["evidence-expansion-full-candidate-list", "woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins, trt-boat-xyzbc, trt-impeller-7bl-xyzac, trt-xyzac-switchkins-test-1, trt-xyzac-switchkins-test-2, trt-xyzac-switchkins-test-3, trt-xyzbc-switchkins"],
|
||||
["evidence-expansion-full-gcode-list", "linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc"],
|
||||
["evidence-expansion-family-count", "3 families"],
|
||||
["evidence-expansion-family-summary", "woodpecker: 1/1 ready; vismach-remap-sims: 2/2 ready; five-axis-trt: 8/8 ready"],
|
||||
["evidence-expansion-family-source-count-list", "woodpecker:3, vismach-remap-sims:6, five-axis-trt:12"],
|
||||
["evidence-expansion-family-woodpecker", "1/1 ready; sources=3; diagnostics=ready"],
|
||||
["evidence-expansion-family-vismach-remap-sims", "2/2 ready; sources=6; diagnostics=ready"],
|
||||
["evidence-expansion-family-five-axis-trt", "8/8 ready; sources=12; diagnostics=ready"],
|
||||
["evidence-expansion-artifact", "wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv"],
|
||||
["promotion-candidate-allowed", "0"],
|
||||
["hard-block-runtime-locked-rows", "1"],
|
||||
|
||||
@@ -563,6 +563,9 @@ assert.deepEqual(
|
||||
["evidence-expansion-source-count-list", "not provided"],
|
||||
["evidence-expansion-full-candidate-list", "not provided"],
|
||||
["evidence-expansion-full-gcode-list", "not provided"],
|
||||
["evidence-expansion-family-count", "not provided"],
|
||||
["evidence-expansion-family-summary", "not provided"],
|
||||
["evidence-expansion-family-source-count-list", "not provided"],
|
||||
["evidence-expansion-artifact", "wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv"],
|
||||
["promotion-candidate-allowed", "0"],
|
||||
["hard-block-runtime-locked-rows", "0"],
|
||||
|
||||
@@ -154,6 +154,17 @@ import {
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness,
|
||||
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState,
|
||||
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilyRowsRenderState,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan,
|
||||
handleIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange,
|
||||
bindIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls,
|
||||
renderIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState,
|
||||
mountIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness,
|
||||
@@ -299,6 +310,9 @@ const expectedPromotionCandidateArtifactSummary = {
|
||||
promotionAllowedCount: 0,
|
||||
baselineChanging: false,
|
||||
nextEvidence: "browser-diagnostics-binding",
|
||||
familyCount: 0,
|
||||
familySummary: "not provided",
|
||||
familyRows: [],
|
||||
},
|
||||
};
|
||||
const hasFreshBoundaryArtifactHashes = (boundaryEvidence) =>
|
||||
@@ -580,6 +594,50 @@ const requiredExports = [
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan",
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilyRowsRenderState",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilyRowsRenderState,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan,
|
||||
],
|
||||
[
|
||||
"handleIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange",
|
||||
handleIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange,
|
||||
],
|
||||
[
|
||||
"bindIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls",
|
||||
bindIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls,
|
||||
],
|
||||
[
|
||||
"renderIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState",
|
||||
renderIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState,
|
||||
],
|
||||
[
|
||||
"mountIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState",
|
||||
mountIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
||||
@@ -1084,7 +1142,7 @@ assert.equal(virtualHalRuntime.getSimConfigPromotionCandidateReport({
|
||||
simConfigSourceCoverage: simConfigSourceCoverageReport,
|
||||
motionControllerMatrix: manifestCheckedMotionControllerMatrixReport,
|
||||
}).complete, true);
|
||||
assert.equal(VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES.length, 5);
|
||||
assert.equal(VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES.length, 11);
|
||||
const simConfigEvidenceExpansionReport = createVirtualHalSimConfigEvidenceExpansionReport({
|
||||
manifestText: sourceManifestText,
|
||||
simConfigSourceCoverage: simConfigSourceCoverageReport,
|
||||
@@ -1098,8 +1156,22 @@ assert.equal(simConfigEvidenceExpansionReport.complete, true);
|
||||
assert.equal(simConfigEvidenceExpansionReport.webSimulationSatisfied, true);
|
||||
assert.equal(simConfigEvidenceExpansionReport.inventoryBaselineUnchanged, true);
|
||||
assert.equal(simConfigEvidenceExpansionReport.promotionAllowed, false);
|
||||
assert.equal(simConfigEvidenceExpansionReport.candidateCount, 5);
|
||||
assert.equal(simConfigEvidenceExpansionReport.readyCandidateCount, 5);
|
||||
assert.equal(simConfigEvidenceExpansionReport.candidateCount, 11);
|
||||
assert.equal(simConfigEvidenceExpansionReport.readyCandidateCount, 11);
|
||||
assert.deepEqual(
|
||||
simConfigEvidenceExpansionReport.familyRows.map(({ id, candidateCount, completeCount, sourceFileCount, complete }) => [
|
||||
id,
|
||||
candidateCount,
|
||||
completeCount,
|
||||
sourceFileCount,
|
||||
complete,
|
||||
]),
|
||||
[
|
||||
["woodpecker", 1, 1, 3, true],
|
||||
["vismach-remap-sims", 2, 2, 6, true],
|
||||
["five-axis-trt", 8, 8, 12, true],
|
||||
],
|
||||
);
|
||||
assert.equal(simConfigEvidenceExpansionReport.promotionAllowedViolations.length, 0);
|
||||
assert.equal(
|
||||
simConfigEvidenceExpansionReport.rows.some((row) =>
|
||||
@@ -1135,6 +1207,25 @@ assert.equal(
|
||||
),
|
||||
true,
|
||||
);
|
||||
for (const [id, gcodePath] of [
|
||||
["trt-boat-xyzbc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc"],
|
||||
["trt-impeller-7bl-xyzac", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc"],
|
||||
["trt-xyzac-switchkins-test-1", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc"],
|
||||
["trt-xyzac-switchkins-test-2", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc"],
|
||||
["trt-xyzac-switchkins-test-3", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc"],
|
||||
["trt-xyzbc-switchkins", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc"],
|
||||
]) {
|
||||
assert.equal(
|
||||
simConfigEvidenceExpansionReport.rows.some((row) =>
|
||||
row.id === id &&
|
||||
row.currentMatrixBrowserStatus === "REP" &&
|
||||
row.targetBrowserEvidence === "browser-diagnostics-expansion" &&
|
||||
row.promotionAllowed === false &&
|
||||
row.sourceFiles.includes(gcodePath)
|
||||
),
|
||||
true,
|
||||
);
|
||||
}
|
||||
assert.equal(VIRTUAL_HAL_SIM_CONFIG_MACRO_LOAD_FIXTURES.length >= 2, true);
|
||||
assert.equal(VIRTUAL_HAL_SIM_CONFIG_MACRO_LOAD_BLOCKED_FIXTURES.length >= 2, true);
|
||||
assert.equal(VIRTUAL_HAL_SIM_CONFIG_MACRO_LOAD_AUDIT_CANDIDATES.length >= 2, true);
|
||||
|
||||
@@ -87,6 +87,17 @@ import {
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilyRowsRenderState,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan,
|
||||
handleIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange,
|
||||
bindIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls,
|
||||
renderIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState,
|
||||
mountIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState,
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilyRowsRenderState,
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterViewModel,
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterDomContract,
|
||||
@@ -793,6 +804,17 @@ assert.deepEqual(shellViewModel.shellWorkflowOverviewContract, {
|
||||
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan",
|
||||
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState",
|
||||
"getWorkflowOverviewPromotionFamilyRowsRenderState",
|
||||
"getWorkflowOverviewEvidenceExpansionFamilyRowsRenderState",
|
||||
"getWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel",
|
||||
"getWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract",
|
||||
"getWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness",
|
||||
"getWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary",
|
||||
"getWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan",
|
||||
"getWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan",
|
||||
"handleWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange",
|
||||
"bindWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls",
|
||||
"renderWorkflowOverviewEvidenceExpansionFamilySourceFilterState",
|
||||
"mountWorkflowOverviewEvidenceExpansionFamilySourceFilterState",
|
||||
"getWorkflowOverviewPromotionFamilySourceFilterViewModel",
|
||||
"getWorkflowOverviewPromotionFamilySourceFilterDomContract",
|
||||
"getWorkflowOverviewPromotionFamilySourceFilterDomReadiness",
|
||||
@@ -2112,11 +2134,27 @@ assert.equal(
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-full-candidate-list")?.value,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins",
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins, trt-boat-xyzbc, trt-impeller-7bl-xyzac, trt-xyzac-switchkins-test-1, trt-xyzac-switchkins-test-2, trt-xyzac-switchkins-test-3, trt-xyzbc-switchkins",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-full-gcode-list")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-family-count")?.value,
|
||||
"3 families",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-family-summary")?.value,
|
||||
"woodpecker: 1/1 ready; vismach-remap-sims: 2/2 ready; five-axis-trt: 8/8 ready",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-family-source-count-list")?.value,
|
||||
"woodpecker:3, vismach-remap-sims:6, five-axis-trt:12",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-family-five-axis-trt")?.value,
|
||||
"8/8 ready; sources=12; diagnostics=ready",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "virtual-hal-promotion-candidate-baseline")?.value,
|
||||
@@ -2694,6 +2732,263 @@ assert.equal(
|
||||
),
|
||||
true,
|
||||
);
|
||||
const evidenceExpansionFamilyRowsRenderState =
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilyRowsRenderState(releaseArtifactUrlWorkflowSummary);
|
||||
const evidenceExpansionFamilySourceFilterViewModel =
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel(
|
||||
evidenceExpansionFamilyRowsRenderState,
|
||||
);
|
||||
const evidenceExpansionTrtGcodeFilterViewModel =
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel(
|
||||
evidenceExpansionFamilyRowsRenderState,
|
||||
{
|
||||
familyId: "evidence-expansion-family-five-axis-trt",
|
||||
sourceKind: "gcode",
|
||||
},
|
||||
);
|
||||
const evidenceExpansionTrtGcodeFilterSummary =
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary(
|
||||
evidenceExpansionTrtGcodeFilterViewModel,
|
||||
);
|
||||
const evidenceExpansionTrtGcodeFilterActionPlan =
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan(
|
||||
evidenceExpansionTrtGcodeFilterSummary,
|
||||
);
|
||||
assert.equal(evidenceExpansionFamilyRowsRenderState.ready, true);
|
||||
assert.equal(evidenceExpansionFamilyRowsRenderState.statusLine, "Ready: 3 evidence expansion families ready");
|
||||
assert.equal(evidenceExpansionFamilyRowsRenderState.rows.length, 3);
|
||||
assert.equal(evidenceExpansionFamilyRowsRenderState.sourceFileCount, 21);
|
||||
assert.equal(evidenceExpansionFamilyRowsRenderState.candidateCount, 11);
|
||||
assert.deepEqual(
|
||||
evidenceExpansionFamilyRowsRenderState.rows.map(({ id, sourceKindSummary }) => [id, sourceKindSummary]),
|
||||
[
|
||||
["evidence-expansion-family-woodpecker", "ini=1 gcode=1 source=1"],
|
||||
["evidence-expansion-family-vismach-remap-sims", "ini=2 gcode=2 remap-subroutine=2"],
|
||||
["evidence-expansion-family-five-axis-trt", "ini=1 gcode=8 remap-subroutine=3"],
|
||||
],
|
||||
);
|
||||
assert.equal(evidenceExpansionFamilySourceFilterViewModel.ready, true);
|
||||
assert.equal(evidenceExpansionFamilySourceFilterViewModel.statusLine, "Ready: 21/21 source files selected");
|
||||
assert.equal(evidenceExpansionFamilySourceFilterViewModel.filteredCandidateCount, 11);
|
||||
assert.deepEqual(
|
||||
evidenceExpansionFamilySourceFilterViewModel.familyFilters.map(({ id, count, selected }) => [id, count, selected]),
|
||||
[
|
||||
["all", 21, true],
|
||||
["evidence-expansion-family-woodpecker", 3, false],
|
||||
["evidence-expansion-family-vismach-remap-sims", 6, false],
|
||||
["evidence-expansion-family-five-axis-trt", 12, false],
|
||||
],
|
||||
);
|
||||
assert.deepEqual(
|
||||
evidenceExpansionFamilySourceFilterViewModel.sourceKindFilters.map(({ id, count, selected }) => [id, count, selected]),
|
||||
[
|
||||
["all", 21, true],
|
||||
["ini", 4, false],
|
||||
["gcode", 11, false],
|
||||
["remap-subroutine", 5, false],
|
||||
["source", 1, false],
|
||||
],
|
||||
);
|
||||
assert.equal(evidenceExpansionTrtGcodeFilterViewModel.statusLine, "Ready: 8/21 source files selected");
|
||||
assert.equal(evidenceExpansionTrtGcodeFilterViewModel.scopedSourceFileCount, 12);
|
||||
assert.equal(evidenceExpansionTrtGcodeFilterViewModel.filteredSourceFileCount, 8);
|
||||
assert.equal(evidenceExpansionTrtGcodeFilterViewModel.filteredCandidateCount, 8);
|
||||
assert.equal(evidenceExpansionTrtGcodeFilterViewModel.familyRows[0]?.sourceKindSummary, "gcode=8");
|
||||
assert.deepEqual(
|
||||
{
|
||||
ready: evidenceExpansionTrtGcodeFilterSummary.ready,
|
||||
selectedFamilyId: evidenceExpansionTrtGcodeFilterSummary.selectedFamilyId,
|
||||
selectedSourceKind: evidenceExpansionTrtGcodeFilterSummary.selectedSourceKind,
|
||||
filteredSourceFileCount: evidenceExpansionTrtGcodeFilterSummary.filteredSourceFileCount,
|
||||
filteredCandidateCount: evidenceExpansionTrtGcodeFilterSummary.filteredCandidateCount,
|
||||
totalSourceFileCount: evidenceExpansionTrtGcodeFilterSummary.totalSourceFileCount,
|
||||
promotionAllowed: evidenceExpansionTrtGcodeFilterActionPlan.promotionAllowed,
|
||||
baselineChanging: evidenceExpansionTrtGcodeFilterActionPlan.baselineChanging,
|
||||
nextCommand: evidenceExpansionTrtGcodeFilterActionPlan.nextCommand,
|
||||
},
|
||||
{
|
||||
ready: true,
|
||||
selectedFamilyId: "evidence-expansion-family-five-axis-trt",
|
||||
selectedSourceKind: "gcode",
|
||||
filteredSourceFileCount: 8,
|
||||
filteredCandidateCount: 8,
|
||||
totalSourceFileCount: 21,
|
||||
promotionAllowed: false,
|
||||
baselineChanging: false,
|
||||
nextCommand: null,
|
||||
},
|
||||
);
|
||||
assert.equal(
|
||||
evidenceExpansionTrtGcodeFilterSummary.statusLine,
|
||||
"Ready: evidence-expansion-family-five-axis-trt / gcode selects 8/21 source files",
|
||||
);
|
||||
assert.equal(
|
||||
evidenceExpansionTrtGcodeFilterActionPlan.statusLine,
|
||||
"Ready: evidence expansion filter evidence-expansion-family-five-axis-trt / gcode is externally readable",
|
||||
);
|
||||
assert.equal(
|
||||
evidenceExpansionTrtGcodeFilterViewModel.sourceRows.every(({ familyId, sourceKind }) =>
|
||||
familyId === "evidence-expansion-family-five-axis-trt" &&
|
||||
sourceKind === "gcode"
|
||||
),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract().selectors.mount,
|
||||
"[data-workflow-overview-evidence-expansion-family-source-filter]",
|
||||
);
|
||||
assert.equal(createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness().ready, false);
|
||||
const evidenceExpansionSourceFilterMountNode = mountDocument.createElement("section");
|
||||
evidenceExpansionSourceFilterMountNode.dataset.workflowOverviewEvidenceExpansionFamilySourceFilter = "";
|
||||
const evidenceExpansionSourceFilterStatusNode = mountDocument.createElement("p");
|
||||
evidenceExpansionSourceFilterStatusNode.dataset.workflowOverviewEvidenceExpansionFamilySourceFilterStatus = "";
|
||||
const evidenceExpansionSourceFilterControlsNode = {
|
||||
...mountDocument.createElement("div"),
|
||||
children: [],
|
||||
replaceChildren() {
|
||||
this.children = [];
|
||||
},
|
||||
append(...nodes) {
|
||||
this.children.push(...nodes);
|
||||
},
|
||||
};
|
||||
evidenceExpansionSourceFilterControlsNode.dataset.workflowOverviewEvidenceExpansionFamilySourceFilterControls = "";
|
||||
const evidenceExpansionSourceFilterRowsNode = {
|
||||
...mountDocument.createElement("dl"),
|
||||
children: [],
|
||||
replaceChildren() {
|
||||
this.children = [];
|
||||
},
|
||||
append(...nodes) {
|
||||
this.children.push(...nodes);
|
||||
},
|
||||
};
|
||||
evidenceExpansionSourceFilterRowsNode.dataset.workflowOverviewEvidenceExpansionFamilySourceFilterRows = "";
|
||||
const evidenceExpansionSourceFilterRenderResult =
|
||||
renderIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState(
|
||||
evidenceExpansionTrtGcodeFilterViewModel,
|
||||
{
|
||||
documentRef: mountDocument,
|
||||
mountNode: evidenceExpansionSourceFilterMountNode,
|
||||
statusNode: evidenceExpansionSourceFilterStatusNode,
|
||||
controlsNode: evidenceExpansionSourceFilterControlsNode,
|
||||
rowsNode: evidenceExpansionSourceFilterRowsNode,
|
||||
},
|
||||
);
|
||||
const evidenceExpansionSourceFilterMountResult =
|
||||
mountIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState({
|
||||
viewModel: evidenceExpansionTrtGcodeFilterViewModel,
|
||||
documentRef: mountDocument,
|
||||
mountNode: evidenceExpansionSourceFilterMountNode,
|
||||
statusNode: evidenceExpansionSourceFilterStatusNode,
|
||||
controlsNode: evidenceExpansionSourceFilterControlsNode,
|
||||
rowsNode: evidenceExpansionSourceFilterRowsNode,
|
||||
});
|
||||
assert.equal(evidenceExpansionSourceFilterRenderResult.rendered, true);
|
||||
assert.equal(evidenceExpansionSourceFilterRenderResult.statusLine, "Ready: 8/21 source files selected");
|
||||
assert.equal(evidenceExpansionSourceFilterRenderResult.rowCount, 24);
|
||||
assert.equal(evidenceExpansionSourceFilterRenderResult.sourceFileCount, 8);
|
||||
assert.equal(evidenceExpansionSourceFilterRenderResult.candidateCount, 8);
|
||||
assert.deepEqual(evidenceExpansionSourceFilterRenderResult.dataset, {
|
||||
handoffPhase: "ready",
|
||||
handoffReady: "true",
|
||||
handoffScope: "workflow-overview-evidence-expansion-family-source-filter",
|
||||
selectedFamilyId: "evidence-expansion-family-five-axis-trt",
|
||||
selectedSourceKind: "gcode",
|
||||
});
|
||||
assert.equal(
|
||||
evidenceExpansionSourceFilterRowsNode.children.some((node) =>
|
||||
node.dataset?.workflowOverviewEvidenceExpansionFamilySourceFilterType === "candidate-row" &&
|
||||
node.dataset?.workflowOverviewEvidenceExpansionFamilySourceFilterFamily ===
|
||||
"evidence-expansion-family-five-axis-trt" &&
|
||||
node.dataset?.workflowOverviewEvidenceExpansionFamilySourceFilterCandidateStatus ===
|
||||
"evidence-expansion-ready" &&
|
||||
node.dataset?.workflowOverviewEvidenceExpansionFamilySourceFilterPromotionAllowed === "0" &&
|
||||
node.textContent === "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"
|
||||
),
|
||||
true,
|
||||
);
|
||||
assert.equal(evidenceExpansionSourceFilterMountResult.ready, true);
|
||||
assert.equal(evidenceExpansionSourceFilterMountResult.renderResult.rowCount, 24);
|
||||
const evidenceExpansionSourceFilterSelectionActionPlan =
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan(
|
||||
evidenceExpansionFamilyRowsRenderState,
|
||||
{
|
||||
familyId: "evidence-expansion-family-woodpecker",
|
||||
sourceKind: "source",
|
||||
previousViewModel: evidenceExpansionTrtGcodeFilterViewModel,
|
||||
},
|
||||
);
|
||||
assert.equal(evidenceExpansionSourceFilterSelectionActionPlan.ready, true);
|
||||
assert.equal(evidenceExpansionSourceFilterSelectionActionPlan.changed, true);
|
||||
assert.equal(
|
||||
evidenceExpansionSourceFilterSelectionActionPlan.statusLine,
|
||||
"Ready: evidence expansion source filter changed to evidence-expansion-family-woodpecker / source",
|
||||
);
|
||||
assert.equal(evidenceExpansionSourceFilterSelectionActionPlan.nextViewModel.filteredSourceFileCount, 1);
|
||||
const evidenceExpansionSourceFilterFamilySelect = evidenceExpansionSourceFilterControlsNode.children.find((node) =>
|
||||
node.dataset?.workflowOverviewEvidenceExpansionFamilySourceFilterSelect === "family"
|
||||
);
|
||||
const evidenceExpansionSourceFilterKindSelect = evidenceExpansionSourceFilterControlsNode.children.find((node) =>
|
||||
node.dataset?.workflowOverviewEvidenceExpansionFamilySourceFilterSelect === "source-kind"
|
||||
);
|
||||
evidenceExpansionSourceFilterFamilySelect.value = "evidence-expansion-family-woodpecker";
|
||||
evidenceExpansionSourceFilterKindSelect.value = "source";
|
||||
const evidenceExpansionSourceFilterSelectionChange =
|
||||
handleIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange({
|
||||
renderState: evidenceExpansionFamilyRowsRenderState,
|
||||
viewModel: evidenceExpansionTrtGcodeFilterViewModel,
|
||||
documentRef: mountDocument,
|
||||
mountNode: evidenceExpansionSourceFilterMountNode,
|
||||
statusNode: evidenceExpansionSourceFilterStatusNode,
|
||||
controlsNode: evidenceExpansionSourceFilterControlsNode,
|
||||
rowsNode: evidenceExpansionSourceFilterRowsNode,
|
||||
render: true,
|
||||
});
|
||||
assert.equal(evidenceExpansionSourceFilterSelectionChange.ready, true);
|
||||
assert.equal(evidenceExpansionSourceFilterSelectionChange.selectedFamilyId, "evidence-expansion-family-woodpecker");
|
||||
assert.equal(evidenceExpansionSourceFilterSelectionChange.selectedSourceKind, "source");
|
||||
assert.equal(evidenceExpansionSourceFilterSelectionChange.renderResult.sourceFileCount, 1);
|
||||
let evidenceExpansionSourceFilterBindingLastChange = null;
|
||||
renderIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState(
|
||||
evidenceExpansionTrtGcodeFilterViewModel,
|
||||
{
|
||||
documentRef: mountDocument,
|
||||
mountNode: evidenceExpansionSourceFilterMountNode,
|
||||
statusNode: evidenceExpansionSourceFilterStatusNode,
|
||||
controlsNode: evidenceExpansionSourceFilterControlsNode,
|
||||
rowsNode: evidenceExpansionSourceFilterRowsNode,
|
||||
},
|
||||
);
|
||||
const evidenceExpansionSourceFilterSelectionBinding =
|
||||
bindIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls({
|
||||
renderState: evidenceExpansionFamilyRowsRenderState,
|
||||
viewModel: evidenceExpansionTrtGcodeFilterViewModel,
|
||||
documentRef: mountDocument,
|
||||
mountNode: evidenceExpansionSourceFilterMountNode,
|
||||
statusNode: evidenceExpansionSourceFilterStatusNode,
|
||||
controlsNode: evidenceExpansionSourceFilterControlsNode,
|
||||
rowsNode: evidenceExpansionSourceFilterRowsNode,
|
||||
render: true,
|
||||
onChange: (changeResult) => {
|
||||
evidenceExpansionSourceFilterBindingLastChange = changeResult;
|
||||
},
|
||||
});
|
||||
assert.equal(evidenceExpansionSourceFilterSelectionBinding.ready, true);
|
||||
assert.deepEqual(evidenceExpansionSourceFilterSelectionBinding.controlIds, ["family", "source-kind"]);
|
||||
const boundEvidenceExpansionFamilySelect = evidenceExpansionSourceFilterControlsNode.children.find((node) =>
|
||||
node.dataset?.workflowOverviewEvidenceExpansionFamilySourceFilterSelect === "family"
|
||||
);
|
||||
const boundEvidenceExpansionKindSelect = evidenceExpansionSourceFilterControlsNode.children.find((node) =>
|
||||
node.dataset?.workflowOverviewEvidenceExpansionFamilySourceFilterSelect === "source-kind"
|
||||
);
|
||||
boundEvidenceExpansionFamilySelect.value = "evidence-expansion-family-woodpecker";
|
||||
boundEvidenceExpansionKindSelect.value = "source";
|
||||
const evidenceExpansionSourceFilterBoundChange = boundEvidenceExpansionFamilySelect.dispatchEvent("change");
|
||||
assert.equal(evidenceExpansionSourceFilterBoundChange.ready, true);
|
||||
assert.equal(evidenceExpansionSourceFilterBoundChange.selectedFamilyId, "evidence-expansion-family-woodpecker");
|
||||
assert.equal(evidenceExpansionSourceFilterBindingLastChange.selectedSourceKind, "source");
|
||||
assert.deepEqual(evidenceExpansionSourceFilterSelectionBinding.unbind(), { unbound: 2 });
|
||||
assert.equal(
|
||||
promotionFamilyRowsRenderState.sourceRows.some(({ sourceKind, manifestBacked, status, value }) =>
|
||||
sourceKind === "ini" &&
|
||||
@@ -2866,7 +3161,7 @@ const releaseArtifactUrlWorkflowMountResult =
|
||||
rowsNode: releaseArtifactUrlWorkflowRowsNode,
|
||||
});
|
||||
assert.equal(releaseArtifactUrlWorkflowRenderResult.rendered, true);
|
||||
assert.equal(releaseArtifactUrlWorkflowRenderResult.rowCount, 55);
|
||||
assert.equal(releaseArtifactUrlWorkflowRenderResult.rowCount, 61);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("browser-diagnostics"),
|
||||
true,
|
||||
@@ -2924,7 +3219,7 @@ assert.equal(
|
||||
true,
|
||||
);
|
||||
assert.equal(releaseArtifactUrlWorkflowMountResult.ready, true);
|
||||
assert.equal(releaseArtifactUrlWorkflowMountResult.renderResult.rowCount, 55);
|
||||
assert.equal(releaseArtifactUrlWorkflowMountResult.renderResult.rowCount, 61);
|
||||
const releaseArtifactUrlWorkflowMissingDom = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
|
||||
artifactUrl: "/project-release-readiness.json",
|
||||
fetchRef: async () => ({
|
||||
@@ -2984,6 +3279,34 @@ const workflowOverviewApi = {
|
||||
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan: () => releaseArtifactUrlWorkflow.actionPlan,
|
||||
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState: () => releaseArtifactUrlWorkflowRenderState,
|
||||
getWorkflowOverviewPromotionFamilyRowsRenderState: () => promotionFamilyRowsRenderState,
|
||||
getWorkflowOverviewEvidenceExpansionFamilyRowsRenderState: () => evidenceExpansionFamilyRowsRenderState,
|
||||
getWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel: () =>
|
||||
evidenceExpansionFamilySourceFilterViewModel,
|
||||
getWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract:
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract,
|
||||
getWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness: () => (
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness({
|
||||
documentRef: mountDocument,
|
||||
mountNode: evidenceExpansionSourceFilterMountNode,
|
||||
statusNode: evidenceExpansionSourceFilterStatusNode,
|
||||
controlsNode: evidenceExpansionSourceFilterControlsNode,
|
||||
rowsNode: evidenceExpansionSourceFilterRowsNode,
|
||||
})
|
||||
),
|
||||
getWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary: () =>
|
||||
evidenceExpansionTrtGcodeFilterSummary,
|
||||
getWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan: () =>
|
||||
evidenceExpansionTrtGcodeFilterActionPlan,
|
||||
getWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan: () =>
|
||||
evidenceExpansionSourceFilterSelectionActionPlan,
|
||||
handleWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange: () =>
|
||||
evidenceExpansionSourceFilterSelectionChange,
|
||||
bindWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls: () =>
|
||||
evidenceExpansionSourceFilterSelectionBinding,
|
||||
renderWorkflowOverviewEvidenceExpansionFamilySourceFilterState: () =>
|
||||
evidenceExpansionSourceFilterRenderResult,
|
||||
mountWorkflowOverviewEvidenceExpansionFamilySourceFilterState: () =>
|
||||
evidenceExpansionSourceFilterMountResult,
|
||||
getWorkflowOverviewPromotionFamilySourceFilterViewModel: () => promotionFamilySourceFilterViewModel,
|
||||
getWorkflowOverviewPromotionFamilySourceFilterDomContract:
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterDomContract,
|
||||
|
||||
Reference in New Issue
Block a user