first implementation
This commit is contained in:
parent
79458bcba4
commit
870804e7b9
24 changed files with 5485 additions and 184 deletions
75
MANUAL_TEST_INVITES.md
Normal file
75
MANUAL_TEST_INVITES.md
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Invite System - Manual Testing Guide
|
||||
|
||||
## Prerequisites
|
||||
- `make dev` running
|
||||
- Seeded users: `admin@example.com` / `admin123`, `user@example.com` / `user123`
|
||||
|
||||
---
|
||||
|
||||
## 1. Admin: Create Invites
|
||||
|
||||
1. Login as **admin@example.com**
|
||||
2. Go to `/admin/invites`
|
||||
3. ✅ Dropdown shows list of users (not a number input)
|
||||
4. Select `user@example.com` → Click **Create Invite**
|
||||
5. ✅ New invite appears with code like `apple-banana-42`, status "ready"
|
||||
|
||||
## 2. Admin: Revoke Invite
|
||||
|
||||
1. On `/admin/invites`, click **Revoke** on a ready invite
|
||||
2. ✅ Status changes to "revoked"
|
||||
|
||||
## 3. Admin: Filter Invites
|
||||
|
||||
1. Use status dropdown to filter by "ready", "spent", "revoked"
|
||||
2. ✅ Table updates accordingly
|
||||
|
||||
---
|
||||
|
||||
## 4. Signup with Invite Code
|
||||
|
||||
1. **Logout** → Go to `/signup`
|
||||
2. Enter a valid invite code → Click **Continue**
|
||||
3. ✅ Form shows "Create account" with email/password fields
|
||||
4. Fill in new email + password → Submit
|
||||
5. ✅ Redirected to home, logged in
|
||||
|
||||
## 5. Signup via Direct Link
|
||||
|
||||
1. Copy a ready invite code (e.g., `apple-banana-42`)
|
||||
2. Go to `/signup/apple-banana-42`
|
||||
3. ✅ Redirects to `/signup?code=...` with code pre-validated
|
||||
4. Complete registration
|
||||
5. ✅ Works same as manual entry
|
||||
|
||||
## 6. Signup Error Cases
|
||||
|
||||
1. **Invalid code**: Enter `fake-code-99` → ✅ Shows "not found" error
|
||||
2. **Spent invite**: Use an already-used code → ✅ Shows error
|
||||
3. **Revoked invite**: Use a revoked code → ✅ Shows error
|
||||
|
||||
---
|
||||
|
||||
## 7. Regular User: My Invites
|
||||
|
||||
1. Login as the **newly created user** (or `user@example.com` if they have invites)
|
||||
2. Go to `/invites`
|
||||
3. ✅ Shows list of invites assigned to this user
|
||||
4. ✅ Spent invites show who used them
|
||||
|
||||
## 8. Profile: Godfather Display
|
||||
|
||||
1. Login as user created via invite
|
||||
2. Go to `/profile`
|
||||
3. ✅ "Invited By" shows the godfather's email (read-only)
|
||||
|
||||
---
|
||||
|
||||
## Quick Smoke Test (2 min)
|
||||
|
||||
1. Admin login → `/admin/invites` → Create invite for `user@example.com`
|
||||
2. Copy invite code
|
||||
3. Logout → `/signup` → Enter code → Register new user
|
||||
4. Check `/profile` shows godfather
|
||||
5. Admin: verify invite status is "spent" with used_by email
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue