Advance AXIS-style Three.js simulation UI
This commit is contained in:
@@ -545,6 +545,37 @@ assert.equal(createProjectReleaseGateActionPlan({
|
||||
gateResults: Object.fromEntries(createProjectReleaseGateManifest().gateIds.map((id) => [id, true])),
|
||||
}).shellScript, "# Project release gates are already marked passed.\n");
|
||||
assert.equal(createProjectReleaseReadinessSummaryViewModel(releaseReadinessReady).statusLine, "Ready: No blocking reasons");
|
||||
assert.equal(
|
||||
createProjectReleaseReadinessSummaryViewModel(releaseReadinessReady).rows.find(({ id }) => id === "axis-screenshot-artifacts")?.value,
|
||||
"not captured",
|
||||
);
|
||||
const releaseReadinessWithScreenshots = createProjectReleaseReadinessReport({
|
||||
gateResults: Object.fromEntries(createProjectReleaseGateManifest().gateIds.map((id) => [id, true])),
|
||||
axisScreenshotArtifacts: ["desktop-preview", "desktop-dro", "mobile-preview", "mobile-mdi"].map((viewportName) => ({
|
||||
apiName: "real-browser-simulation-axis-screenshot-artifact",
|
||||
artifactVersion: 1,
|
||||
viewportName,
|
||||
windowSize: viewportName.startsWith("mobile") ? "390,920" : "1280,900",
|
||||
query: viewportName.endsWith("dro") ? "?axis_right=dro" : "",
|
||||
screenshotBytes: 20000,
|
||||
validatedBy: "browser_real_simulation_page_smoke",
|
||||
fullDiagnosticsApiName: "real-browser-simulation-diagnostics-artifact",
|
||||
fullDiagnosticsPath: `/tmp/${viewportName}-full.json`,
|
||||
previewRenderer: "threejs",
|
||||
previewViewMode: viewportName.endsWith("dro") ? "top" : "top",
|
||||
threeReady: true,
|
||||
threePathPoints: 3,
|
||||
screenshotPath: `/tmp/${viewportName}.png`,
|
||||
diagnosticsPath: `/tmp/${viewportName}.json`,
|
||||
})),
|
||||
});
|
||||
assert.equal(releaseReadinessWithScreenshots.ready, true);
|
||||
assert.equal(releaseReadinessWithScreenshots.axisScreenshotArtifactSummary.ready, true);
|
||||
assert.equal(releaseReadinessWithScreenshots.axisScreenshotArtifactSummary.artifactCount, 4);
|
||||
assert.equal(
|
||||
createProjectReleaseReadinessSummaryViewModel(releaseReadinessWithScreenshots).rows.find(({ id }) => id === "axis-screenshot-artifacts")?.value,
|
||||
"4/4 captured",
|
||||
);
|
||||
assert.equal(
|
||||
createProjectReleaseGateResultMatrix({
|
||||
observedOutputs: ["project_release_gate=ok"],
|
||||
@@ -572,6 +603,8 @@ assert.deepEqual(releaseReadinessArtifactValidation, {
|
||||
gateExecutionSummaryReady: true,
|
||||
gateResultMatrixReady: true,
|
||||
gateActionPlanReady: true,
|
||||
axisScreenshotArtifactSummaryReady: true,
|
||||
axisScreenshotArtifactCount: 0,
|
||||
blockedRuntimeFamilies: [
|
||||
"L4-USER-M-PROCESS",
|
||||
"L4-TOOL-DB",
|
||||
@@ -613,6 +646,11 @@ assert.deepEqual(releaseReadinessArtifactValidation, {
|
||||
label: "Gate action plan",
|
||||
value: "ready",
|
||||
},
|
||||
{
|
||||
id: "axis-screenshot-artifacts",
|
||||
label: "AXIS screenshot artifacts",
|
||||
value: "not captured",
|
||||
},
|
||||
{
|
||||
id: "validation",
|
||||
label: "Artifact validation",
|
||||
|
||||
Reference in New Issue
Block a user