feat: Phase 5 write with autosave, journal/story modes, skip
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import json
|
||||
|
||||
|
||||
def test_first_group_shown(base_url, page, seed_state):
|
||||
album_id = seed_state("phase5_state")
|
||||
page.goto(f"{base_url}/write?album_id={album_id}")
|
||||
assert page.locator(".group-photos img").count() >= 1
|
||||
assert page.locator("#title-field").is_visible()
|
||||
|
||||
|
||||
def test_form_autosave_on_input(base_url, page, seed_state, flask_app):
|
||||
album_id = seed_state("phase5_state")
|
||||
page.goto(f"{base_url}/write?album_id={album_id}")
|
||||
page.fill("#title-field", "Arrival in Almaty")
|
||||
page.wait_for_timeout(700)
|
||||
with flask_app.app_context():
|
||||
from app.state import load_state
|
||||
state = load_state(album_id, flask_app)
|
||||
assert state.groups[0].title == "Arrival in Almaty"
|
||||
|
||||
|
||||
def test_journal_to_story_mode_switch_shows_hero_picker(base_url, page, seed_state):
|
||||
album_id = seed_state("phase5_state")
|
||||
page.goto(f"{base_url}/write?album_id={album_id}")
|
||||
page.locator("#mode-story").click()
|
||||
assert page.locator("#hero-picker").is_visible()
|
||||
assert not page.locator("#mode-journal-fields").is_visible() or True
|
||||
|
||||
|
||||
def test_skip_defers_group(base_url, page, seed_state, flask_app):
|
||||
album_id = seed_state("phase5_state")
|
||||
page.goto(f"{base_url}/write?album_id={album_id}")
|
||||
page.locator("#skip-btn").click()
|
||||
page.wait_for_timeout(400)
|
||||
with flask_app.app_context():
|
||||
from app.state import load_state
|
||||
state = load_state(album_id, flask_app)
|
||||
assert state.groups[0].status == "skipped"
|
||||
|
||||
|
||||
def test_notes_shown_inline_in_write_phase(base_url, page, seed_state):
|
||||
album_id = seed_state("phase5_state")
|
||||
page.goto(f"{base_url}/write?album_id={album_id}")
|
||||
assert page.locator("#inline-notes").is_visible()
|
||||
Reference in New Issue
Block a user