Files
echoes-of-the-ash/old/TESTING_GUIDE.md
2025-11-27 16:27:01 +01:00

277 lines
6.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Quick Test Guide - Account/Character System
**Test this NOW to verify everything works!**
---
## 🧪 Test 1: New User Registration
**Steps:**
1. Open https://echoesoftheashgame.patacuack.net
2. Should redirect to login page
3. Click "Don't have an account? Register"
4. Enter email: `test@example.com`
5. Enter password: `test123`
6. Click "Register"
**Expected:**
- ✅ Redirects to character selection screen
- ✅ Shows "You don't have any characters yet"
- ✅ Shows "Create New Character" card
- ✅ Shows "0 / 1 slots used" (free account)
---
## 🧪 Test 2: Character Creation
**Steps:**
1. From character selection, click "Create New Character" card
2. Enter name: `TestHero`
3. Allocate stats:
- Strength: 8
- Agility: 5
- Endurance: 4
- Intellect: 3
4. Check "Points Remaining" shows 0
5. Check HP preview shows 140 (100 + 4*10)
6. Check Stamina preview shows 120 (100 + 4*5)
7. Click "Create Character"
**Expected:**
- ✅ Redirects back to character selection
- ✅ Shows new character card with:
- Name: TestHero
- Level 1
- HP: 140/140
- Correct stat emojis (💪8 ⚡5 🛡4 🧠3)
- ✅ Shows "1 / 1 slots used"
- ✅ "Create New Character" card is GONE (at limit)
- ✅ Shows premium upgrade banner
---
## 🧪 Test 3: Character Selection & Game Entry
**Steps:**
1. From character selection, click "Play" on TestHero
2. Wait for redirect
**Expected:**
- ✅ Redirects to game screen
- ✅ Game header shows "TestHero" in top right
- ✅ Game loads normally
- ✅ Can interact with game
---
## 🧪 Test 4: Character Limit (Free Account)
**Steps:**
1. From game, click "TestHero" in header
2. Should redirect to character selection
3. Try to click "Create New Character"
**Expected:**
- ✅ "Create New Character" card is NOT visible
- ✅ Premium banner shows: "Character Limit Reached"
- ✅ Banner shows: "Upgrade to Premium to create up to 10 characters!"
---
## 🧪 Test 5: Logout and Re-Login
**Steps:**
1. From character selection, click "Logout"
2. Should redirect to login screen
3. Enter same email: `test@example.com`
4. Enter password: `test123`
5. Click "Login"
**Expected:**
- ✅ Redirects to character selection
- ✅ Shows TestHero character card
- ✅ Character data persisted (level, stats, etc.)
- ✅ Can click "Play" and enter game again
---
## 🧪 Test 6: Character Deletion
**Steps:**
1. From character selection, click "Delete" on TestHero
2. Confirm deletion in popup
3. Wait for deletion
**Expected:**
- ✅ Shows confirmation dialog
- ✅ Character card disappears after confirm
- ✅ Shows "You don't have any characters yet" message
- ✅ "Create New Character" card appears again
- ✅ Shows "0 / 1 slots used"
---
## 🧪 Test 7: Validation Tests
### Character Name Validation
1. Try creating character with name: `ab` (too short)
- ❌ Should show error: "Name must be between 3 and 20 characters"
2. Try creating character with name: `a very long name that exceeds twenty characters`
- ❌ Should show error: "Name must be between 3 and 20 characters"
3. Create character named `Hero1`, then try creating another with same name
- ❌ Should show error about name already exists
### Stat Allocation Validation
1. Try to allocate only 15 points (leave 5 remaining)
- ❌ "Create Character" button should be DISABLED
- ❌ Points remaining shows "5 / 20" in normal color
2. Try to allocate 25 points (5 over)
- ❌ Should prevent going over 20
- ❌ Points remaining shows "-5 / 20" in RED
3. Allocate exactly 20 points
- ✅ "Create Character" button becomes ENABLED
- ✅ Points remaining shows "0 / 20" in GREEN
---
## 🧪 Test 8: Email Validation
**Steps:**
1. Try to register with invalid emails:
- `notanemail` - ❌ Should show error
- `test@` - ❌ Should show error
- `@example.com` - ❌ Should show error
2. Try to register with valid email:
- `valid@example.com` - ✅ Should succeed
**Expected:**
- Email validation shows clear error message
- Only valid email formats accepted
---
## 🧪 Test 9: Mobile Responsiveness
**Steps:**
1. Open site on mobile browser (or resize browser to 375px width)
2. Navigate through all screens:
- Login
- Character selection
- Character creation
- Game
**Expected:**
- ✅ Login card fits screen, readable text
- ✅ Character cards stack in single column
- ✅ Character creation form is scrollable
- ✅ All buttons are tappable (not too small)
- ✅ No horizontal scrolling
- ✅ Text is readable without zooming
---
## 🧪 Test 10: Error Handling
### Invalid Login
1. Try to login with wrong email: `wrong@example.com`
- ❌ Should show error: "Authentication failed"
2. Try to login with wrong password
- ❌ Should show error: "Authentication failed"
### Network Error Simulation
1. Open browser dev tools
2. Set network to "Offline"
3. Try to create character
- ❌ Should show error message (not crash)
4. Set network back to "Online"
5. Try again
- ✅ Should work normally
---
## 📊 Success Criteria
**All tests should pass:**
- [x] Can register new account with email
- [x] Can create character with 20 stat points
- [x] Can select character and enter game
- [x] Free account limited to 1 character
- [x] Premium banner shows when at limit
- [x] Can logout and login again
- [x] Can delete characters
- [x] Validation works correctly
- [x] Email format validated
- [x] Mobile responsive
- [x] Errors handled gracefully
---
## 🚨 If Something Doesn't Work
### Frontend Not Loading
```bash
# Check PWA container logs
docker logs echoes_of_the_ashes_pwa --tail 50
# Rebuild if needed
cd /opt/dockers/echoes_of_the_ashes
docker compose build echoes_of_the_ashes_pwa
docker compose up -d echoes_of_the_ashes_pwa
```
### API Errors
```bash
# Check API logs
docker logs echoes_of_the_ashes_api --tail 50
# Restart if needed
docker compose restart echoes_of_the_ashes_api
```
### Database Issues
```bash
# Check if migration ran
docker exec echoes_of_the_ashes_db psql -U eota_user -d echoes_of_the_ashes -c "\dt"
# Should show: accounts, characters tables
```
### Clear Browser Cache
If frontend looks old:
1. Open browser dev tools (F12)
2. Right-click refresh button
3. Select "Empty Cache and Hard Reload"
---
## 📞 Quick Commands
```bash
# Check all containers
docker ps
# View all logs
docker compose logs -f
# Restart everything
docker compose restart
# Rebuild frontend
docker compose build echoes_of_the_ashes_pwa && docker compose up -d echoes_of_the_ashes_pwa
# Check database
docker exec echoes_of_the_ashes_db psql -U eota_user -d echoes_of_the_ashes -c "SELECT COUNT(*) FROM accounts;"
docker exec echoes_of_the_ashes_db psql -U eota_user -d echoes_of_the_ashes -c "SELECT COUNT(*) FROM characters;"
```
---
**Happy Testing!** 🎮