Browse Source
- Remove conflicting axios!: AxiosStatic declaration - Let Vue's axios plugin handle injection naturally - Fix HTTP request errors in raw claim editor - Clean up unused AxiosStatic import - Verified build and lint successpull/142/head
2 changed files with 158 additions and 6 deletions
@ -0,0 +1,132 @@ |
|||||
|
# ClaimAddRawView.vue Testing Guide |
||||
|
|
||||
|
## Quick Testing Setup |
||||
|
- Web server running at: `http://localhost:3000` |
||||
|
- Migration completed: 2025-07-06 |
||||
|
- Component: `src/views/ClaimAddRawView.vue` |
||||
|
- Route: `/claim-add-raw/:id?` |
||||
|
|
||||
|
## Test URLs (Copy/Paste into Browser) |
||||
|
|
||||
|
### 1. Basic JSON Editor |
||||
|
``` |
||||
|
http://localhost:3000/claim-add-raw |
||||
|
``` |
||||
|
**Expected**: Raw claim JSON editor loads with empty textarea |
||||
|
|
||||
|
### 2. Pre-filled JSON Example |
||||
|
``` |
||||
|
http://localhost:3000/claim-add-raw?claim={"type":"example","data":"test claim"} |
||||
|
``` |
||||
|
**Expected**: Editor loads with formatted JSON in textarea |
||||
|
|
||||
|
### 3. With Optional ID Parameter |
||||
|
``` |
||||
|
http://localhost:3000/claim-add-raw/some-test-id |
||||
|
``` |
||||
|
**Expected**: Editor loads normally (ID available in route params) |
||||
|
|
||||
|
### 4. Invalid JSON Test |
||||
|
Navigate to basic page and paste this invalid JSON: |
||||
|
``` |
||||
|
{"invalid": json, "missing": quotes} |
||||
|
``` |
||||
|
**Expected**: JSON parsing handled gracefully |
||||
|
|
||||
|
## Browser Developer Tools Validation |
||||
|
|
||||
|
### Console Tab |
||||
|
- Check for errors during page load |
||||
|
- Verify error logging works (test invalid operations) |
||||
|
- Look for properly formatted log messages |
||||
|
|
||||
|
### Application Tab |
||||
|
- Navigate to: IndexedDB → TimeSafari |
||||
|
- Check `logs` table for error entries if any errors occur |
||||
|
- Verify settings are loaded correctly |
||||
|
|
||||
|
### Network Tab |
||||
|
- Monitor API calls during claim submission |
||||
|
- Check headers and authentication |
||||
|
|
||||
|
## Testing Checklist |
||||
|
|
||||
|
### Web Platform (Chrome) ✅/❌ |
||||
|
- [ ] Basic page loads without errors |
||||
|
- [ ] JSON editor displays correctly |
||||
|
- [ ] Pre-filled JSON from query param works |
||||
|
- [ ] JSON validation works (valid/invalid) |
||||
|
- [ ] Settings load from database correctly |
||||
|
- [ ] Error handling works (network failures) |
||||
|
- [ ] Logging works (console + database) |
||||
|
- [ ] Claim submission functionality works |
||||
|
|
||||
|
### Functional Tests |
||||
|
|
||||
|
#### Basic Functionality |
||||
|
- [ ] **Page Load**: Navigate to `/claim-add-raw` |
||||
|
- [ ] **UI Elements**: JSON textarea and "Sign & Send" button visible |
||||
|
- [ ] **Back Button**: Navigation back button works |
||||
|
|
||||
|
#### JSON Handling |
||||
|
- [ ] **Valid JSON**: Paste valid JSON, verify formatting |
||||
|
- [ ] **Invalid JSON**: Paste invalid JSON, check error handling |
||||
|
- [ ] **Query Param**: Test with `?claim={"test":"data"}` |
||||
|
- [ ] **Empty State**: Editor handles empty/null claims |
||||
|
|
||||
|
#### Database Operations |
||||
|
- [ ] **Settings Load**: Account settings retrieved correctly |
||||
|
- [ ] **Error Logging**: Errors logged to database logs table |
||||
|
- [ ] **Persistence**: Settings persist across page refreshes |
||||
|
|
||||
|
#### API Integration |
||||
|
- [ ] **Claim Submission**: Submit valid claim (requires server) |
||||
|
- [ ] **Error Handling**: Network errors handled gracefully |
||||
|
- [ ] **Authentication**: Headers and DID authentication work |
||||
|
|
||||
|
#### Error Scenarios |
||||
|
- [ ] **Network Failure**: Test offline/network errors |
||||
|
- [ ] **Invalid Claims**: Submit malformed data |
||||
|
- [ ] **Server Errors**: Handle API error responses |
||||
|
- [ ] **Missing Settings**: Handle missing account settings |
||||
|
|
||||
|
### Expected Database Operations |
||||
|
- **Settings Retrieval**: `this.$accountSettings()` loads activeDid and apiServer |
||||
|
- **Error Logging**: `this.$logAndConsole()` writes to logs table |
||||
|
- **Persistence**: Data survives page refresh |
||||
|
|
||||
|
### Success Criteria |
||||
|
- ✅ No console errors during normal operation |
||||
|
- ✅ JSON editor loads and functions correctly |
||||
|
- ✅ Claims can be formatted and edited |
||||
|
- ✅ Error scenarios handled gracefully |
||||
|
- ✅ Database operations work correctly |
||||
|
- ✅ Logging functions as expected |
||||
|
|
||||
|
## Sample Test Data |
||||
|
|
||||
|
### Valid Claim JSON |
||||
|
```json |
||||
|
{ |
||||
|
"type": "GiveAction", |
||||
|
"recipient": "did:ethr:0x1234567890123456789012345678901234567890", |
||||
|
"amount": "10", |
||||
|
"description": "Test claim for migration validation" |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
### Invalid JSON (for error testing) |
||||
|
``` |
||||
|
{"invalid": json, missing: "quotes", trailing,} |
||||
|
``` |
||||
|
|
||||
|
## Navigation Testing |
||||
|
- **Entry Points**: Direct URL, navigation from other views |
||||
|
- **Exit Points**: Back button, form submission redirect |
||||
|
- **Deep Links**: URLs with parameters and query strings |
||||
|
|
||||
|
## Notes |
||||
|
- Component handles raw JSON editing for claims |
||||
|
- Requires valid account settings (activeDid, apiServer) |
||||
|
- Claims submitted via endorser server API |
||||
|
- Error handling includes both UI notifications and logging |
Loading…
Reference in new issue