- Open http://localhost:5173
- Verify the landing page loads correctly
- Check that the header shows "Sign In" and "Get Started" buttons
- Click "Sign In" - should navigate to
/login - Click "Get Started" - should navigate to
/register
- Go to
/register - Fill out the registration form:
- First Name:
Test - Last Name:
User - Email:
test@example.com - Password:
TestPass123! - Confirm Password:
TestPass123! - ZIP Code:
12345(optional) - Check "I agree to terms"
- First Name:
- Click "Create Account"
- Expected Result:
- Success message: "Welcome to ReBin Pro! Your account has been created successfully. Redirecting to dashboard..."
- Automatic redirect to
/dashboardafter 1.5 seconds - User should be authenticated and see the dashboard
- Go to
/register - Fill out the registration form with a different email
- Click "Create Account"
- Expected Result:
- Success message: "Account Created! Please check your email and click the verification link to complete your registration."
- Automatic redirect to
/login?message=verify-emailafter 2 seconds - Login page should show: "Check Your Email - Please check your email and click the verification link to complete your registration."
- Go to
/login - Enter credentials:
- Email:
test@example.com - Password:
TestPass123!
- Email:
- Click "Sign In"
- Expected Result:
- Success message: "Welcome back! You have successfully logged in. Redirecting to dashboard..."
- Automatic redirect to
/dashboardafter 1.5 seconds
-
Without being logged in, try to access:
-
Expected Result:
- Should automatically redirect to
/login - Should see loading spinner briefly before redirect
- Should automatically redirect to
- After logging in, try to access the same URLs
- Expected Result:
- Should load the protected pages successfully
- Should see the actual content (dashboard, sorting page, etc.)
- Register with a new email address
- Check your email inbox
- Look for an email from Supabase
- Click the verification link
- Expected Result:
- Should redirect to
/auth/callback - Should show "Email Verified! Your account has been successfully verified. Welcome to ReBin Pro!"
- Should redirect to
/dashboard
- Should redirect to
- Go to
/login - Enter invalid credentials:
- Email:
wrong@example.com - Password:
wrongpassword
- Email:
- Click "Sign In"
- Expected Result:
- Should show error message: "Invalid email or password. Please try again."
- Go to
/register - Try to submit with invalid data:
- Weak password:
123 - Mismatched passwords
- Invalid email format
- Missing required fields
- Weak password:
- Expected Result:
- Should show appropriate validation errors
- Form should not submit
- Log in successfully
- Refresh the page
- Expected Result:
- Should remain logged in
- Should not redirect to login page
- Should maintain authentication state
- While logged in, find the logout option (usually in navigation)
- Click logout
- Expected Result:
- Should redirect to landing page or login page
- Should clear authentication state
- Protected routes should redirect to login
- Check browser console for errors
- Verify Supabase environment variables are set
- Check Supabase project is active
- Verify database schema is applied
- Check Supabase Auth settings
- Verify email confirmation is enabled/disabled as expected
- Check spam folder for verification emails
- Verify redirect URLs are configured in Supabase
- Check browser console for authentication errors
- Verify user is actually authenticated
- Check if session is being maintained
- Check browser console for navigation errors
- Verify React Router is working
- Check if there are any JavaScript errors
| Action | Development Mode | Production Mode |
|---|---|---|
| Register | Immediate auth + redirect to dashboard | Email sent + redirect to login with message |
| Login | Redirect to dashboard | Redirect to dashboard |
| Protected Routes | Redirect to login if not auth | Redirect to login if not auth |
| Email Verification | Not required | Required via email link |
✅ All tests pass when:
- Registration works in both modes
- Login redirects properly
- Protected routes guard correctly
- Email verification works (if enabled)
- Error handling shows appropriate messages
- Session persistence works
- Logout clears authentication
- Check Browser Console - Look for JavaScript errors
- Check Network Tab - Look for failed API calls
- Check Supabase Dashboard - Verify project status and settings
- Check Environment Variables - Ensure they're properly set
- Restart Dev Server - Sometimes needed after environment changes
Happy Testing! 🎉
If you encounter any issues, check the browser console and let me know what errors you see.