fix(b08): 프로그램 기본 발행본엔 원문 공사명·파일명을 안 실음(브레인 ②) — 출처에 「원문에서 뽑음 — 공사명은 발행 시 가림」 · 원본(개인 단)·회사 단 발행은 그대로(③) · 발행 확인창에 「이 항목은 「○○」에서 뽑은 것 — 공사명은 빼고 발행됩니다」
화면(936be972 · 봉화 호표 가져온 장): 확인창 문구 확인 · 공용 storage 라 취소(쓰기 없음) · 가림은 임시 storage 시험 · 되돌림 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
This commit is contained in:
@@ -261,6 +261,41 @@ def test_발행은_권한대로_회사_기본_단에_같은_모양으로(client:
|
||||
]
|
||||
|
||||
|
||||
def test_프로그램_기본_발행본엔_원문_공사명_파일명을_안_싣는다(tmp_path: Path) -> None:
|
||||
"""2026-09-14 브레인 ② — 모든 회사로 가는 발행본에서만 가림 · 원본·회사 단은 그대로(③)."""
|
||||
origin = {
|
||||
"kind": "stmate_xlsx",
|
||||
"file": "봉화.xlsx",
|
||||
"project": "2024년 봉화 임도",
|
||||
"hopyo_no": 6,
|
||||
}
|
||||
template = {**load_template("masonry_wet"), "origin": origin}
|
||||
program = library_module.save_personal(tmp_path / "program", template, None, None, "program")
|
||||
company = library_module.save_personal(tmp_path / "company", template, None, None, "company")
|
||||
published = json.loads((tmp_path / "program" / f"{program}.json").read_text(encoding="utf-8"))
|
||||
kept = json.loads((tmp_path / "company" / f"{company}.json").read_text(encoding="utf-8"))
|
||||
assert "project" not in published["origin"] and "file" not in published["origin"]
|
||||
assert published["origin"]["masked"] == "원문에서 뽑음 — 공사명은 발행 시 가림"
|
||||
assert published["origin"]["kind"] == "stmate_xlsx"
|
||||
assert kept["origin"] == origin
|
||||
assert template["origin"] == origin # 원본은 안 건드림
|
||||
|
||||
|
||||
def test_발행_확인창이_가릴_공사명을_보인다() -> None:
|
||||
ui = (ROOT / "B08_Quantity" / "B08_Quantity_UI_StructureSheet_Library.ts").read_text(
|
||||
encoding="utf-8"
|
||||
)
|
||||
assert "originProject" in ui and "공사명은 빼고 발행됩니다" in ui
|
||||
sheet_ui = (ROOT / "B08_Quantity" / "B08_Quantity_UI_StructureSheet.ts").read_text(
|
||||
encoding="utf-8"
|
||||
)
|
||||
assert "originProject: sheet.library_item.origin_project" in sheet_ui
|
||||
template_py = (ROOT / "B08_Quantity" / "B08_Quantity_Engine_StructureTemplate.py").read_text(
|
||||
encoding="utf-8"
|
||||
)
|
||||
assert '"origin_project"' in template_py
|
||||
|
||||
|
||||
def test_회사_없는_사람은_개인_단을_못_쓴다(client: TestClient) -> None:
|
||||
client.app.dependency_overrides[verify_session] = lambda: {"company_id": None, "user_id": 1}
|
||||
sheet = _sheet(client)
|
||||
|
||||
Reference in New Issue
Block a user