feat: refocus acoustic camera workflow
This commit is contained in:
@@ -60,9 +60,27 @@ test("Acoustic Camera가 8×8 CPU 실행·결과 저장·stale·재실행 흐름
|
||||
"기본 Camera 입력 검증",
|
||||
);
|
||||
|
||||
const workflowSteps = [...documentObject.querySelectorAll("#camera-workflow [data-workflow-step]")];
|
||||
assertEqual(workflowSteps.length, 4, "four-step workflow is discoverable");
|
||||
assertEqual(
|
||||
workflowSteps.map((step) => step.dataset.workflowStep).join(","),
|
||||
"1,2,3,4",
|
||||
"workflow order",
|
||||
);
|
||||
assert(documentObject.querySelector("#input-step").textContent.includes("입력 준비"), "input step label");
|
||||
assert(documentObject.querySelector("#configure-step").textContent.includes("분석 설정"), "configure step label");
|
||||
assert(documentObject.querySelector("#run-step").textContent.includes("실행 방식"), "run step label");
|
||||
assert(documentObject.querySelector("#inspect-step").textContent.includes("결과 확인"), "inspect step label");
|
||||
assert(documentObject.querySelector("#snapshot-mode").contains(documentObject.querySelector("#run-button")), "snapshot action is grouped with snapshot mode");
|
||||
assert(documentObject.querySelector("#moving-mode").contains(documentObject.querySelector("#prepare-live-button")), "live action is grouped with moving mode");
|
||||
assert(!documentObject.querySelector("#advanced-settings").open, "advanced settings start collapsed");
|
||||
assert(!documentObject.querySelector("#array-details").open, "array developer detail starts collapsed");
|
||||
assert(!documentObject.querySelector("#camera-help").open, "limitations help starts collapsed");
|
||||
|
||||
const canvas = documentObject.querySelector("#scene-canvas");
|
||||
await waitFor(() => canvas.width > 0 && canvas.height > 0, "scene canvas 초기 렌더");
|
||||
await nextPaint(windowObject);
|
||||
assert(canvas.getBoundingClientRect().height >= 500, "scene canvas remains the dominant workspace");
|
||||
const initialCanvas = canvas.toDataURL();
|
||||
|
||||
dispatchValue(windowObject, documentObject.querySelector("#scan-columns"), 8);
|
||||
@@ -208,6 +226,18 @@ test("Acoustic Camera가 8×8 CPU 실행·결과 저장·stale·재실행 흐름
|
||||
"final Camera documents saved",
|
||||
);
|
||||
assertEqual(documentObject.documentElement.dataset.unsavedWork, "", "all Camera work is saved");
|
||||
|
||||
frame.style.width = "390px";
|
||||
await nextPaint(windowObject);
|
||||
assert(
|
||||
documentObject.documentElement.scrollWidth <= documentObject.documentElement.clientWidth + 1,
|
||||
"compact Camera layout has no horizontal overflow",
|
||||
);
|
||||
const finalWorkflowStep = workflowSteps.at(-1).getBoundingClientRect();
|
||||
assert(
|
||||
finalWorkflowStep.right <= documentObject.documentElement.clientWidth + 1,
|
||||
"all workflow steps remain visible on a compact viewport",
|
||||
);
|
||||
} finally {
|
||||
windowObject.confirm = originalConfirm;
|
||||
windowObject.HTMLAnchorElement.prototype.click = originalAnchorClick;
|
||||
|
||||
Reference in New Issue
Block a user