Files
igny8/TESTING-GUIDE.md
Desktop b6cd544791 test
2025-11-14 20:17:14 +05:00

109 lines
2.3 KiB
Markdown

# Testing Guide for API Response Utilities
This guide helps you test the new unified response format utilities before merging the PR.
## Quick Test Script
Run the simple test script to verify basic functionality:
```bash
cd backend
python test_response_utilities.py
```
This will test:
- ✅ Import functionality
-`success_response()` function
-`error_response()` function
-`paginated_response()` function
## Django Unit Tests
Run the comprehensive unit tests:
```bash
cd backend
python manage.py test igny8_core.api.tests.test_response
```
Expected output: All 15 test cases should pass.
## Test the /api/ping/ Endpoint
### Option 1: Using curl (if server is running)
```bash
# Test the ping endpoint
curl http://localhost:8011/api/ping/
# Expected response:
# {
# "success": true,
# "data": {
# "pong": true,
# "time": "2025-01-XX...",
# "version": "1.0.0"
# },
# "message": "API is live"
# }
```
### Option 2: Using Postman or Browser
1. Start Django server: `python manage.py runserver`
2. Navigate to: `http://localhost:8000/api/ping/`
3. Verify response has `success: true` and `data` fields
### Option 3: Using Python requests
```python
import requests
response = requests.get('http://localhost:8011/api/ping/')
data = response.json()
assert data['success'] == True
assert 'data' in data
assert 'pong' in data['data']
print("✅ Ping endpoint works!")
```
## Verification Checklist
Before merging the PR, verify:
- [ ] Quick test script passes (`python test_response_utilities.py`)
- [ ] Django unit tests pass (`python manage.py test igny8_core.api.tests.test_response`)
- [ ] `/api/ping/` endpoint returns unified format
- [ ] No linting errors
- [ ] All imports work correctly
## What to Look For
### ✅ Success Indicators:
- All tests pass
- Response has `success: true/false` field
- Response has `data` field (for success) or `error` field (for errors)
- No import errors
- No syntax errors
### ❌ Failure Indicators:
- Import errors
- Assertion errors in tests
- Missing fields in responses
- Syntax errors
## Next Steps After Testing
If all tests pass:
1. ✅ Merge the PR
2. Continue with Section 1, Task 2 (refactoring endpoints)
3. Or move to Section 2 (Authentication)
If tests fail:
1. Check error messages
2. Fix any issues
3. Re-test
4. Update PR with fixes