This document outlines how to test the various components of the JackerBox application to ensure everything is working correctly.
Before testing, make sure you have:
- Set up all environment variables (see
.env.example) - Run the local development server with
npm run dev - Ensured your database is properly connected
- Verified Redis connection is active
- Visit
/auth/login - Click on "Continue with Google" or "Continue with Apple"
- Complete the OAuth flow
- Verify you're redirected to the dashboard
- Check that your user profile information is correctly displayed
- Visit
/auth/registerto create a test account - Fill in the registration form with valid information
- Submit the form and verify account creation
- Log out
- Visit
/auth/login - Enter the credentials you just created
- Verify successful login and redirection to dashboard
- Visit
/api/redis-testin your browser - Verify the response shows a successful connection
- Try the POST endpoint with a tool like Postman:
POST /api/redis-test Content-Type: application/json { "key": "test-key", "value": "test-value" } - Verify the successful storage response
- Visit
/socket-testin your browser - Verify the socket connection status shows "Connected"
- Open another browser window to the same page
- Send a test message from one window
- Verify the message appears in the other window
- Visit
/sse-testin your browser - Verify you see "SSE Connection: Active"
- Use the admin panel or API to publish a test event
- Verify the event appears in the test page
- Create a test rental listing (if needed)
- Navigate to the rental listing and click "Rent Now"
- Proceed to the payment page
- Use Stripe test card
4242 4242 4242 4242with:- Any future expiration date
- Any 3-digit CVC
- Any billing ZIP code
- Complete the payment
- Verify the payment success screen and confirmation
- Navigate to
/routes/dashboard/stripe-connect - Initiate the Stripe Connect onboarding
- Complete the test onboarding flow
- Verify the account is connected successfully
- Navigate to a page with the image uploader (e.g., equipment creation)
- Upload a test image
- Verify the image appears in the preview
- Complete the form submission
- Verify the image is stored in Cloudinary and displayed correctly
Use tools like Postman or Thunder Client to test the following API endpoints:
/api/equipment- GET, POST/api/equipment/[id]- GET, PUT, DELETE/api/users/[id]- GET, PUT/api/rentals- GET, POST/api/payments/create-intent- POST
Test the application on various device sizes:
- Desktop (1920×1080)
- Laptop (1366×768)
- Tablet (768×1024)
- Mobile (375×667)
Verify that all UI elements are properly responsive and usable on each device size.
Test error scenarios:
- Try invalid login credentials
- Test form validation (submit empty forms, invalid data)
- Test with invalid API parameters
- Test payment with invalid card numbers
- Test with network disconnection during operations
- Page load times
- Image loading speed
- API response times
- Animation smoothness
After deploying to Vercel:
- Verify all pages load correctly
- Test authentication flows
- Confirm Redis connection works
- Confirm Stripe integrations work
- Verify Cloudinary uploads work
- Test real-time features (socket, SSE)
When you encounter issues:
- Document the exact steps to reproduce
- Note the expected vs. actual behavior
- Include browser console logs if relevant
- Take screenshots of the issue
- Add information about your environment (browser, OS, etc.)
For each test, document:
- ✅ Passing tests
- ❌ Failing tests (with detailed description)
⚠️ Partially working features (with notes on limitations)