Files
mtgonline/backend/CHAT_PROMPT_TEST.md
T

104 lines
3.0 KiB
Markdown

# Backend System Test Prompt
## Project Context
You are working on the **mtgonline** backend project located at `/home/wall-o/projects/mtgonline/backend/`.
The backend is a FastAPI application with:
- PostgreSQL database (MTG Online + MTG data)
- Redis caching
- JWT authentication
- MTG card search and statistics endpoints
## Current State
Read the `state.json` file at `/home/wall-o/projects/mtgonline/backend/state.json` to understand:
- What has been completed
- What the current focus is
- Any blockers or pending tasks
## Task: Full Backend System Test
Your goal is to perform a comprehensive system test of the backend to verify all components work correctly together.
### Steps to Follow:
1. **Read State File**
- Read `/home/wall-o/projects/mtgonline/backend/state.json`
- Understand current progress and what's been tested
2. **Check Docker Containers**
- Run: `cd /home/wall-o/projects/mtgonline && docker compose ps`
- If containers aren't running, start them: `docker compose up -d`
- Wait for services to be healthy (~40 seconds)
3. **Run System Test**
- Execute: `cd /home/wall-o/projects/mtgonline/backend && python test_system.py`
- This tests:
- Database connections (PostgreSQL + Redis)
- Cache operations
- Database tables
- API endpoints (health, card search, statistics, auth)
4. **Analyze Results**
- If tests fail, investigate and fix issues
- Common issues:
- Database not running
- Redis connection failed
- API routes not registered
- Environment variables not set
5. **Update State**
- Update `state.json` with test results
- Note any bugs found and fixed
- Document what's working and what needs attention
6. **Report Findings**
- Summarize test results (pass/fail rates)
- List any issues found
- Recommend next steps
## Expected Test Coverage
The system test (`test_system.py`) should verify:
- ✅ MTG Online PostgreSQL connection
- ✅ MTG PostgreSQL connection
- ✅ Redis connection and operations
- ✅ MTG Online database tables (users, decks)
- ✅ MTG database tables (sets, cards)
- ✅ MTG card search functionality
- ✅ Health endpoint
- ✅ Card search API endpoint
- ✅ Statistics API endpoint
- ✅ Authentication endpoint
## Success Criteria
All tests should pass (100% success rate) before considering the backend ready for frontend development.
## Commands Reference
```bash
# Check Docker status
cd /home/wall-o/projects/mtgonline && docker compose ps
# Start containers
cd /home/wall-o/projects/mtgonline && docker compose up -d
# Wait for health (40 seconds)
sleep 40
# Run system test
cd /home/wall-o/projects/mtgonline/backend && python test_system.py
# Check logs if issues
cd /home/wall-o/projects/mtgonline && docker compose logs backend
```
## Important Notes
- All code execution must be as user `wall-o` (not root)
- Use sudo -u wall-o when running commands
- Pin versions in requirements.txt
- Follow PEP 8 for Python code
- Log errors with context
- One change per commit, descriptive messages