Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1
This commit is contained in:
@@ -19,6 +19,7 @@ from fastapi.testclient import TestClient
|
|||||||
from common_util.common_util_auth import verify_session
|
from common_util.common_util_auth import verify_session
|
||||||
from config import config_system
|
from config import config_system
|
||||||
from M01_MasterData import M01_MasterData_Store as m01
|
from M01_MasterData import M01_MasterData_Store as m01
|
||||||
|
from M02_MasterTemplete import M02_MasterTemplete_Combo_Store as combos
|
||||||
from M02_MasterTemplete import M02_MasterTemplete_Router_Items as items_router
|
from M02_MasterTemplete import M02_MasterTemplete_Router_Items as items_router
|
||||||
from M02_MasterTemplete import M02_MasterTemplete_Router_Layers as layers_router
|
from M02_MasterTemplete import M02_MasterTemplete_Router_Layers as layers_router
|
||||||
from M02_MasterTemplete import M02_MasterTemplete_Store as store
|
from M02_MasterTemplete import M02_MasterTemplete_Store as store
|
||||||
@@ -111,10 +112,13 @@ def test_회사_층_첫_진입_뼈대와_쓰기_권한(world):
|
|||||||
assert [(r["key"], r["열"]) for r in items] == [("SC7-000001", "cw")] # 회사 키(26-4a)
|
assert [(r["key"], r["열"]) for r in items] == [("SC7-000001", "cw")] # 회사 키(26-4a)
|
||||||
assert items[0]["도번"].startswith("SD") and (root / "structure/cw.json").is_file()
|
assert items[0]["도번"].startswith("SD") and (root / "structure/cw.json").is_file()
|
||||||
assert client.get("/api/m02/items?layer=company&owner=9").status_code == 403 # 남의 회사
|
assert client.get("/api/m02/items?layer=company&owner=9").status_code == 403 # 남의 회사
|
||||||
# 일위대가(UA) 갈라 내기는 M01 시스템 마스터에 쓰므로 회사 관리자도 못 함
|
# 일위대가 갈라 내기(27-2c) = 회사 층 쓰기 권한 — 일반 사용자 403 · 회사 관리자는 회사 조합(UC)
|
||||||
body = {"본뜬키": "UA000001", "담은로직": [], "이름": "x"}
|
branch = "/api/m02/layers/company/structures/cw/combo"
|
||||||
|
body = {"본뜬키": "UA000001", "담은로직": [{"로직": "GF000221"}], "이름": "x"}
|
||||||
|
assert _as(world).post(branch, json=body).status_code == 403
|
||||||
admin = _as(world, "ADMIN")
|
admin = _as(world, "ADMIN")
|
||||||
assert admin.post("/api/m02/layers/company/structures/cw/combo", json=body).status_code == 403
|
made = admin.post(branch, json=body)
|
||||||
|
assert made.status_code == 200 and made.json()["키"] == "UC7-000001"
|
||||||
assert admin.delete(f"{url}?판={client.get(url).json()['판']}").status_code == 409 # 쓰는 양식
|
assert admin.delete(f"{url}?판={client.get(url).json()['판']}").status_code == 409 # 쓰는 양식
|
||||||
|
|
||||||
|
|
||||||
@@ -149,7 +153,7 @@ def test_회사_항목을_개인으로_복사(world):
|
|||||||
admin.post(f"{base}/structures/cw/use-combo", json={"종류": "일위대가", "키": "UA000004"})
|
admin.post(f"{base}/structures/cw/use-combo", json={"종류": "일위대가", "키": "UA000004"})
|
||||||
row = admin.get("/api/m02/items?layer=company").json()[0]
|
row = admin.get("/api/m02/items?layer=company").json()[0]
|
||||||
ss = row["key"]
|
ss = row["key"]
|
||||||
ua_name = items_router.items_store._combo_names()["UA000004"]
|
ua_name = combos.find("UA000004")["이름"]
|
||||||
assert row["names"] == { # 키 대신 화면 이름
|
assert row["names"] == { # 키 대신 화면 이름
|
||||||
"일위대가": ua_name,
|
"일위대가": ua_name,
|
||||||
"자재조합": "회사 자재",
|
"자재조합": "회사 자재",
|
||||||
|
|||||||
@@ -120,9 +120,16 @@ def test_좌측_줄은_구조물_집계_양식_아래_한_줄_같은_한_곳에
|
|||||||
assert side.index("옵션: section(options.title") < side.index(
|
assert side.index("옵션: section(options.title") < side.index(
|
||||||
'도면: section(L("M02_KindDrawing")'
|
'도면: section(L("M02_KindDrawing")'
|
||||||
)
|
)
|
||||||
assert "children: [summary, ...(extras ? [extras.옵션, extras.도면] : [])]" in side
|
# 차례 = 일위대가 조합(27-2b) → 구조물 조합 → 옵션 → 도면 양식
|
||||||
assert "onOpen: () => (options.clear(), paint())" in side # 자재 조합을 열면 이 줄 고름 지움
|
order = [
|
||||||
assert "onOpen: () => (matset.clear(), paint())" in side # 이 줄을 열면 자재 조합 고름 지움
|
"...(labor ? [section(labor.title, labor.body)] : []),",
|
||||||
|
" summary,",
|
||||||
|
" ...(extras ? [extras.옵션, extras.도면] : []),",
|
||||||
|
]
|
||||||
|
assert "\n".join(order) in side
|
||||||
|
# 자재 조합을 열면 이 줄 · 일위대가 고름 지움 / 이 줄을 열면 자재 조합 · 일위대가 고름 지움
|
||||||
|
assert "onOpen: () => (options.clear(), labor?.clear(), paint())" in side
|
||||||
|
assert "onOpen: () => (matset.clear(), labor?.clear(), paint())" in side
|
||||||
paint = side.split("function paint(): void {")[1].split("\n }\n")[0]
|
paint = side.split("function paint(): void {")[1].split("\n }\n")[0]
|
||||||
assert "if (opt.getOpen()) options.clear();" in paint # 양식을 열면 이 줄 고름 지움
|
assert "if (opt.getOpen()) options.clear();" in paint # 양식을 열면 이 줄 고름 지움
|
||||||
api = (ROOT / "M02_MasterTemplete/M02_MasterTemplete_Api_Fetch.ts").read_text("utf-8")
|
api = (ROOT / "M02_MasterTemplete/M02_MasterTemplete_Api_Fetch.ts").read_text("utf-8")
|
||||||
|
|||||||
Reference in New Issue
Block a user