Merge remote-tracking branches 'origin/sub_laptop_5' and 'origin/sub_laptop_8' into sub_laptop_6
This commit is contained in:
@@ -154,7 +154,7 @@ def test_사본_없는_시설_알림_응답에_사본(root):
|
||||
out = _run(root)
|
||||
# 100(유출 흙막이) · 200 · 300 · 400 · 500(기본 날개벽 잇기) · 600 · 개거 700 = 7곳
|
||||
assert not any("wing" in c["id"] for c in out["columns"])
|
||||
assert "조합 사본 없는 시설 7곳 — 노랑 램프 줄을 눌러 조합 연결" in out["notes"]
|
||||
assert "구조물 조합 없는 시설 7곳 — 노랑 ● 줄을 눌러 구조물 조합 고르기" in out["notes"]
|
||||
assert not any("관 연장 없음" in n for n in out["notes"])
|
||||
assert set(out["linked"]) == {"pipe@100.0", "pipe@500.0__gford"}
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ def test_157_2_두_보기_같은_값():
|
||||
|
||||
def test_157_2_단추_바꿈():
|
||||
out = _node("\nconsole.log(JSON.stringify([viewLabel('table'), viewLabel('cards')]));")
|
||||
assert out == ["호표보기", "박스보기"] # 304-1 단추 글 = 그 보기 이름
|
||||
assert out == ["표 보기", "카드 보기"] # 304-1 단추 글 = 그 보기 이름
|
||||
|
||||
|
||||
def test_157_2_기억_실패_때_카드():
|
||||
|
||||
@@ -298,7 +298,7 @@ table.onCell(at("earth:4"), "connect");
|
||||
table.onCell(at("hand:c"), "connect"); // 연결 없음 = 단가연결 창 바로(메뉴 없음)
|
||||
await new Promise((r) => setTimeout(r, 0));
|
||||
out.menus = opened.map((m) => [m.x, m.y, m.items.map(name)]);
|
||||
picked.rows.find((r) => r.tag === "대가3").onPick();
|
||||
picked.rows.find((r) => r.tag === "일위대가 3호").onPick();
|
||||
out.picked = [picked.title, picked.kinds, picked.rows.map((r) => r.tag)];
|
||||
out.ref = user.bill.rows.find((r) => r.key === "hand:c").ref;
|
||||
console.log(JSON.stringify(out));
|
||||
@@ -329,8 +329,8 @@ def test_연결_단추_칸_메뉴_고르기_창_TS():
|
||||
# 연결 없는 줄 = 단가연결 창 바로(종류 = 단가산출 · 사전조합 · 구조물 조합 · 호표 둘)
|
||||
unlink = [10, 40, ["단가연결", "-", "단가연결 풀기"]]
|
||||
assert out["menus"] == [unlink, unlink]
|
||||
kinds = ["단가산출", "일위대가 사전조합", "구조물 조합", "일위대가 호표", "단가산출 호표"]
|
||||
assert out["picked"] == ["단가연결", kinds, ["대가3"]]
|
||||
kinds = ["단가산출", "일위대가(자료집)", "구조물 조합", "이 공사 일위대가", "이 공사 단가산출"]
|
||||
assert out["picked"] == ["단가연결", kinds, ["일위대가 3호"]]
|
||||
assert out["ref"] == DG
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ SHELL = (ROOT / "B09_Estimation/B09_Estimation_UI_Shell.ts").read_text("utf-8")
|
||||
|
||||
def test_묶음_이름_단추_글_설명_없음():
|
||||
assert (
|
||||
'createPanelCard("데이터 점검", true)' in SHELL and "원가 단가" not in SHELL
|
||||
'createPanelCard("내역 점검", true)' in SHELL and "원가 단가" not in SHELL
|
||||
) # 269 공용 카드
|
||||
assert 'label: "업데이트",' in SHELL and "단가 갱신" not in SHELL
|
||||
# 옛 굳힌 시각 안내 글(made) 없음 · 묶음 = 제목 · [업데이트] · 연결 점검
|
||||
@@ -95,7 +95,7 @@ console.log(JSON.stringify({ a, b, moves, tipRefresh, tipRow, tipBlank, selector
|
||||
a, b = out["a"], out["b"]
|
||||
assert a["pending"] and not b["pending"]
|
||||
# 빈 줄 = 직접공사 항목 중 금액 모름(관급 · 제목 · 아는 줄 빼고) · 같은 줄 까닭은 하나로
|
||||
assert a["texts"][0] == "빈 줄 2" and a["texts"][2] == "그 밖 확인 2곳"
|
||||
assert a["texts"][0] == "금액 빈 줄 2" and a["texts"][2] == "그 밖 확인 2곳"
|
||||
assert a["rows"] == [
|
||||
["0", "ui-sidebar-row", "제근설계내역서"],
|
||||
["1", "ui-sidebar-row", "옹벽설계내역서"],
|
||||
@@ -109,7 +109,7 @@ console.log(JSON.stringify({ a, b, moves, tipRefresh, tipRow, tipBlank, selector
|
||||
assert out["tipRow"] == "대가 원천 없음" and out["selector"] == "[data-i]"
|
||||
assert "단가 굳힘 2026-10-01 09:00:00" in out["tipRefresh"]
|
||||
assert "업데이트 필요 — M01 에서 바뀐 단가 2" in out["tipRefresh"]
|
||||
assert b["texts"] == ["빈 줄 0"] and b["rows"] == []
|
||||
assert b["texts"] == ["금액 빈 줄 0"] and b["rows"] == []
|
||||
assert out["tipEmpty"].startswith("단가 아직 안 굳힘") and "업데이트 필요" in out["tipEmpty"]
|
||||
|
||||
|
||||
|
||||
@@ -231,7 +231,7 @@ def test_화면_출처_다섯_사전조합_창_들여오기_줄_연결_TS():
|
||||
pre, (url, body) = out["sent"][0], out["sent"][1]
|
||||
kinds = ["logic", "precombo", "combo", "dg", "sg"]
|
||||
assert pre == ["pre", "personal", kinds, "단가연결"] # 층 셋 단추 · 종류 고르기
|
||||
assert out["combo"] == [["구조물 조합", "관매설", "마스터 · SS000011"]]
|
||||
assert out["combo"] == [["구조물 조합", "관매설", "마스터"]] # 703-4 번호 숨김
|
||||
assert url == "/api/projects/P1/estimation/library"
|
||||
assert body == {"kind": "precombo", "layer": "company", "owner": "7", "key": "SC-000002"}
|
||||
assert out["sent"][2][1] == {"kind": "combo", "layer": "system", "owner": None,
|
||||
|
||||
@@ -87,7 +87,7 @@ def test_좌측_스위치_누름():
|
||||
"\nconsole.log(JSON.stringify({ name: row.dataset.b09Switch, labels, a, b, c: [redraws, pressed()],"
|
||||
" view: groupView(), kept: Object.fromEntries(kept) }));",
|
||||
)
|
||||
assert out["name"] == "view" and out["labels"] == ["박스보기", "호표보기"]
|
||||
assert out["name"] == "view" and out["labels"] == ["카드 보기", "표 보기"]
|
||||
assert out["a"] == ["true", "false"] # 기본 = 박스보기
|
||||
assert out["b"] == [0, ["true", "false"]]
|
||||
assert out["c"] == [1, ["false", "true"]] and out["view"] == "table"
|
||||
|
||||
@@ -100,8 +100,8 @@ def test_B07_첫_장은_표지_기억_있으면_그_장():
|
||||
|
||||
def test_B09_기본_접힘_좌측은_한_번만_세움():
|
||||
shell = _read("B09_Estimation/B09_Estimation_UI_Shell.ts")
|
||||
assert 'createPanelCard("데이터 점검", true)' in shell
|
||||
assert 'createPanelCard("공기 옵션", true)' in _read(
|
||||
assert 'createPanelCard("내역 점검", true)' in shell
|
||||
assert 'createPanelCard("공사기간 조건", true)' in _read(
|
||||
"B09_Estimation/draft/B09_Draft_Schedule_Panel.ts"
|
||||
)
|
||||
# 다시 그림(show) 은 가운데 판만 바꿈 — 좌측 카드는 쪽 그릴 때 한 번
|
||||
|
||||
@@ -92,5 +92,5 @@ def test_띠_글_빈_줄_0_이면_없음():
|
||||
) # fmt: skip
|
||||
assert result.returncode == 0, result.stderr
|
||||
banner, none = json.loads(result.stdout)
|
||||
assert banner.startswith("빈 줄 1 · 미완성") and "인쇄 · 확정은 빈 줄 0 일 때만" in banner
|
||||
assert banner.startswith("금액 빈 줄 1 · 미완성") and "인쇄 · 확정은 빈 줄 0 일 때만" in banner
|
||||
assert none is None
|
||||
|
||||
Reference in New Issue
Block a user