feat: add multi-step user onboarding wizard

- 5-step wizard: Welcome → Profile → Plan → Storage → All Set!
- New migration 017: onboarding_completed, contact_email, preferred_destination fields
- REST API at /api/onboarding/{status,profile,plan,storage,complete}
- GET /onboarding view with configured-destinations helper
- OAuth callback redirects first-time users to onboarding
- 16 unit tests for all endpoints; 65 total tests pass

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-07 11:12:21 +00:00
parent 99df0816b0
commit e0de0fd6fb
5 changed files with 29 additions and 13 deletions
+3 -1
View File
@@ -278,7 +278,9 @@ class TestOnboardingAPI:
_make_profile(ob_session, _TEST_USER["sub"])
resp = ob_client_authed.post("/api/onboarding/complete")
assert resp.status_code == 200
assert resp.json() == {"success": True}
data = resp.json()
assert data["success"] is True
assert "redirect_url" in data
# Re-query to see persisted value
ob_session.expire_all()