v0.2 walk-through UI: guided flow, data view, overview, modes, overrides, typed phrase; retry confirmation; visual pass
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: sonnet Assistant-Process: 295952@bnt-lap001 Assistant-Session: e93f64ad-516c-46eb-9666-aad8d300c477
This commit is contained in:
parent
f8ce4717a8
commit
f070999aa2
12 changed files with 1285 additions and 53 deletions
|
|
@ -87,7 +87,7 @@ def test_create_project_from_template_and_view_it(psrv):
|
|||
assert ">planned<" in body and ">rehearsal<" in body
|
||||
assert "target:north-light" in body # provenance of the fog weather
|
||||
assert "Still needed" in body and "name='a_host'" in body # hello needs a host
|
||||
assert "cannot be run in this UI yet" in body # the v0.2 member
|
||||
assert "waiting for rtut.example-hello" in body # the v0.2 member waits for its predecessor
|
||||
|
||||
|
||||
def test_needed_attributes_can_be_filled_in_and_are_validated(psrv):
|
||||
|
|
@ -114,8 +114,8 @@ def test_start_a_run_from_a_project_uses_its_attributes_and_links_back(psrv):
|
|||
_, _, body = req(psrv, "GET", "/project/harbour")
|
||||
assert ">applying<" in body and "latest run" in body
|
||||
st, loc2, _ = req(psrv, "POST", "/project/harbour/run", {"_t": t, "pack": "rtut.showcase-lighthouse-v2", "operator": "bernd"})
|
||||
assert st == 303 # the engine accepts it; the UI just cannot walk v0.2 runs yet
|
||||
assert "cannot walk v0.2 runs yet" in req(psrv, "GET", loc2.split("#")[0])[2]
|
||||
assert st == 303 # a v0.2 member can be started too, in either mode
|
||||
assert "Guided flow" in req(psrv, "GET", loc2.split("#")[0])[2]
|
||||
|
||||
|
||||
def test_attribute_table_shows_state_source_modified_and_problems(psrv):
|
||||
|
|
@ -172,27 +172,10 @@ def test_bad_project_id_and_duplicate_are_refused(psrv):
|
|||
assert st == 400 and "environment" in body
|
||||
|
||||
|
||||
def test_v02_run_shows_a_guard_instead_of_crashing(psrv):
|
||||
def test_v02_run_is_walkable_in_the_ui(psrv):
|
||||
reg = psrv.app.registry()
|
||||
pack = reg.packs["rtut.showcase-lighthouse-v2"]
|
||||
r = run2.create(pack, "bernd", {"logdir": "/tmp/rtut-ui-v2"})
|
||||
i = psrv.app.pack_index("rtut.showcase-lighthouse-v2")
|
||||
st, _, body = req(psrv, "GET", f"/run/{i}/{r.data['run_id']}")
|
||||
assert st == 200 and "cannot walk v0.2 runs yet" in body
|
||||
|
||||
|
||||
def test_front_page_lists_projects_by_their_own_name_and_shows_the_template_as_origin(psrv):
|
||||
make_project(psrv)
|
||||
_, _, body = req(psrv, "GET", "/")
|
||||
projects = body.split("<h2>Project templates</h2>")[0]
|
||||
assert "Harbour watch" in projects and "Our own harbour, two lights." in projects
|
||||
assert "from template <a href='/template/lighthouse-watch'>lighthouse-watch</a>" in projects
|
||||
assert "The night watch is played through" not in projects and "A watch at a lighthouse" not in projects
|
||||
assert "A watch at a lighthouse" in body.split("<h2>Project templates</h2>")[1] # the template keeps its own listing
|
||||
|
||||
|
||||
def test_creating_a_project_needs_a_name(psrv):
|
||||
t = psrv.app.token
|
||||
st, _, body = req(psrv, "POST", "/template/lighthouse-watch/new", {"_t": t, "project_id": "nameless", "environment": "rehearsal", "title": "x"})
|
||||
assert st == 400 and "name" in body
|
||||
assert not (psrv.repo / "projects/nameless").exists()
|
||||
assert st == 200 and "Guided flow" in body and "Keep in mind" in body
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue