diff --git a/M01_MasterData/M01_MasterData_UI_Logic_Edit.ts b/M01_MasterData/M01_MasterData_UI_Logic_Edit.ts index 3e4a14832..70a84fe90 100644 --- a/M01_MasterData/M01_MasterData_UI_Logic_Edit.ts +++ b/M01_MasterData/M01_MasterData_UI_Logic_Edit.ts @@ -206,7 +206,7 @@ function head(ctx: EditContext, set: (p: () => void) => void, rerender: () => vo ), field( tx("Head_Owner"), - choice(["공용", "개인"], row.소유, (v) => set(() => (row.소유 = v))), + choice(["현장", "공용"], row.소유, (v) => set(() => (row.소유 = v))), ), field(tx("Head_Note"), note, true), ], diff --git a/M02_MasterTemplete/M02_MasterTemplete_Hopyo_Wizard.ts b/M02_MasterTemplete/M02_MasterTemplete_Hopyo_Wizard.ts index ee2de1a31..6857f0c26 100644 --- a/M02_MasterTemplete/M02_MasterTemplete_Hopyo_Wizard.ts +++ b/M02_MasterTemplete/M02_MasterTemplete_Hopyo_Wizard.ts @@ -291,10 +291,10 @@ export function buildHopyoWizard(): HopyoWizard { const w = sk?.count(); // 안 옮긴 단가산출(일위대가 밖 포함) — 묻기만 const ok = await showConfirmDialog( `「${file.파일}」 불러오기를 끝냄 — 올린 파일(엑셀 결과 · 격자 · 맞춤 캐시)을 지움 · 만든 일위대가 · 단가산출(출처만 남김)과 별칭 장부는 남음 · 같은 엑셀은 필요하면 다시 올림` + - (loose ? ` · ${L("M02_LeftLoose").replace("{n}", String(loose))}` : ""), - w?.블록 - ? ` · ${L("M02_SkUnmoved").replace("{n}", String(w.블록)).replace("{m}", String(w.밖))}` - : "", // 780-2 막지 않음 + (loose ? ` · ${L("M02_LeftLoose").replace("{n}", String(loose))}` : "") + + (w?.블록 + ? ` · ${L("M02_SkUnmoved").replace("{n}", String(w.블록)).replace("{m}", String(w.밖))}` + : ""), // 780-2 막지 않음 "끝내기", ); if (!ok) return steps.set("2"); diff --git a/resources/tester/test_782_1_small_flaws.py b/resources/tester/test_782_1_small_flaws.py new file mode 100644 index 000000000..0f3478ce9 --- /dev/null +++ b/resources/tester/test_782_1_small_flaws.py @@ -0,0 +1,21 @@ +"""782-1 작은 흠 둘 — 소스 지킴: 끝내기 확인창 인자 자리 · 로직 편집 소유 선택지.""" + +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] + + +def test_finish_confirm_args_in_order(): + src = (ROOT / "M02_MasterTemplete/M02_MasterTemplete_Hopyo_Wizard.ts").read_text("utf-8") + at = src.index("showConfirmDialog(") + block = src[at : src.index(");", at)] + assert block.rstrip().endswith('"끝내기",') or '"끝내기"' in block.splitlines()[-1] + assert "M02_SkUnmoved" in block.split('"끝내기"')[0] + assert block.count('"끝내기"') == 1 and '""' not in block.split("// 780-2")[-1] + + +def test_owner_choices_match_server(): + ui = (ROOT / "M01_MasterData/M01_MasterData_UI_Logic_Edit.ts").read_text("utf-8") + py = (ROOT / "M01_MasterData/M01_MasterData_Store_Make.py").read_text("utf-8") + assert 'OWNERS = ("현장", "공용")' in py + assert 'choice(["현장", "공용"]' in ui