feat(review): inline file uploader instead of redirect home
When a user lands on Review without an upload, show a file uploader on the page itself and auto-run the analyzer once a file is picked, rather than bouncing them to the home page with a "Back to home" button. Auto-analyze is the right default here: the user is already on the Review page, so they've implicitly committed to a scan. Stashing the bytes in the same session-state keys the home page uses keeps the rest of the flow (encoding picker, gate, tool pages) unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -156,16 +156,24 @@ class TestPipelineRunnerWorkflow:
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
class TestReviewWorkflow:
|
||||
"""The Review page is the gate-fixer. Without an upload it shows a
|
||||
'go back to home' message. With an upload it runs the analyzer and
|
||||
shows findings."""
|
||||
"""The Review page is the gate-fixer. Without an upload it shows
|
||||
its own file uploader so the user can start the flow from this
|
||||
page directly. With an upload it runs the analyzer and shows
|
||||
findings."""
|
||||
|
||||
def test_no_upload_shows_back_to_home(self, app_factory):
|
||||
def test_no_upload_shows_inline_uploader(self, app_factory):
|
||||
app = app_factory("0_Review")
|
||||
app.run()
|
||||
text = collected_text(app)
|
||||
# Page shows ``No file uploaded`` + ``Back to home``.
|
||||
assert "No file uploaded" in text or "uploaded" in text.lower()
|
||||
# Page should invite the user to upload, not redirect home.
|
||||
assert "Upload" in text or "Choose a file" in text, (
|
||||
f"Review page should expose an inline uploader; got:\n{text[:400]}"
|
||||
)
|
||||
# The 'Back to home' button is gone — the page is self-contained now.
|
||||
labels = [b.label for b in app.button]
|
||||
assert not any("Back to home" in lbl for lbl in labels), (
|
||||
f"Back-to-home button should be removed; got buttons: {labels}"
|
||||
)
|
||||
|
||||
def test_with_upload_shows_review_content(
|
||||
self, app_factory, small_csv_bytes,
|
||||
|
||||
Reference in New Issue
Block a user