Merge remote-tracking branch 'origin/sub_laptop_3' into sub_laptop_5
This commit is contained in:
@@ -89,6 +89,9 @@ class FakeCursor:
|
||||
async def fetchall(self):
|
||||
return self.rows
|
||||
|
||||
async def fetchone(self):
|
||||
return None
|
||||
|
||||
async def __aenter__(self):
|
||||
return self
|
||||
|
||||
@@ -261,6 +264,50 @@ def test_new_mode_creates_road_project(env, monkeypatch):
|
||||
assert made["company_id"] == 5 and len(env["rows"]) == 5
|
||||
|
||||
|
||||
def _stage2_writes(log):
|
||||
return [
|
||||
args
|
||||
for sql, args in log
|
||||
if isinstance(sql, str) and "UPDATE project_workflow_stages" in sql
|
||||
]
|
||||
|
||||
|
||||
def test_new_mode_seeds_b05_design_speed(env, monkeypatch):
|
||||
"""531-4 — 새 임도 = 예정노선 설계속도가 단계 2 params options 에 · B05 가 그 값을 씀."""
|
||||
from B05_Profile.B05_Profile_PageSettings import grade_options_of
|
||||
|
||||
_use(monkeypatch, _assignee(design_speed_kph=30, road_type="main"))
|
||||
|
||||
async def create_project(**kw):
|
||||
return {"project_id": ROAD_ID}
|
||||
|
||||
monkeypatch.setattr(link, "create_project", create_project)
|
||||
_link(mode="new", project_id=None)
|
||||
(args,) = _stage2_writes(env["log"])
|
||||
params = json.loads(args[0])
|
||||
assert args[1:] == (ROAD_ID, 2) and params == {"options": {"design_speed_kph": 30}}
|
||||
# 자동설계 체인이 grade_class trunk(기본)로 params 를 다시 써도 이 값을 이어 넘김
|
||||
chained = {"options": {"grade_class": "trunk", "design_speed_kph": 30}}
|
||||
assert grade_options_of("main", chained).design_speed_kph == 30
|
||||
chain = (ROOT / "B03_FileInput/B03_FileInput_Service_Chain.py").read_text("utf-8")
|
||||
assert "'$.options.design_speed_kph'" in chain and "design_speed_kph=int(seeded_speed)" in chain
|
||||
|
||||
|
||||
def test_existing_and_odd_speed_leave_stage_params(env, monkeypatch):
|
||||
"""기존 프로젝트는 사용자 값 보존 · 20/30/40 밖 값은 안 넣음."""
|
||||
_use(monkeypatch, _assignee(design_speed_kph=30), ROAD)
|
||||
_link()
|
||||
assert _stage2_writes(env["log"]) == []
|
||||
|
||||
async def create_project(**kw):
|
||||
return {"project_id": ROAD_ID}
|
||||
|
||||
monkeypatch.setattr(link, "create_project", create_project)
|
||||
_use(monkeypatch, _assignee(design_speed_kph=25))
|
||||
_link(mode="new", project_id=None)
|
||||
assert _stage2_writes(env["log"]) == []
|
||||
|
||||
|
||||
def test_fingerprint_update_and_revert():
|
||||
linked = link.route_fingerprint(_route(P2026))
|
||||
moved = [p[:] for p in P2026]
|
||||
|
||||
Reference in New Issue
Block a user