You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
					
						
							4.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							4.0 KiB
						
					
					
				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 
logstable 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
{
  "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