# Testing Guide Start with [README.md](./README.md). This file has more details. ## Test User Setup ### Register New User on Test Server On the test server, User #0 has rights to register others. Import User #0 with this seed phrase: ```bash rigid shrug mobile smart veteran half all pond toilet brave review universe ship congress found yard skate elite apology jar uniform subway slender luggage ``` This corresponds to: `did:ethr:0x0000694B58C2cC69658993A90D3840C560f2F51F` (Other test users can be found [here](https://github.com/trentlarson/endorser-ch/blob/master/test/util.js).) ## Manual Testing Steps ### Identity Management 1. Create multiple identifiers: - Go to "Your Identity" screen - Click "Advanced" - Click "Switch Identity / No Identity" - Click "Add Another Identity..." 2. Create keys with alternate tools: - See [openssl_signing_console.rst](openssl_signing_console.rst) for JWT creation with local keypairs ### Web Push Testing For web-push tests: 1. Change push server URL in Advanced settings on the account page 2. Install Time Safari & push server on the same domain ### Manual Walk-through Test Checklist 1. Initial Setup - Backup seed & data - Get CSV dump from Endorser Mobile - Check DB migration compatibility - Verify version update 2. Environment Setup - Clear browser data - Add identity - Import Time Safari contacts and CSV contacts - Verify test API usage 3. Fresh Install Testing - Clear browser data - Check account page before home page - Verify ID generation - Test feed without names - Verify contact URL copying - Check messaging on all pages - Verify project discovery - Test contact addition without ID 4. PWA Installation - Install PWA - Test User 0 functions - Verify image handling - Test contact management - Check feed display - Verify name visibility 5. Feature Testing - Test identifier switching - Check registration limits - Verify gift recording - Test offer & delivery - Check contact registration - Test notifications - Verify export/import - Test location features - Check third-user connections - Test mobile image sharing ## Data Reset Instructions To clear/reset data: 1. Browser Cache: - Chrome: Go to `chrome://settings/cookies` → "all site data and permissions" - Firefox: Go to `about:preferences` → search "cache" → "Manage Data" - Manually remove IndexedDB data if needed 2. Notification Permissions: - Chrome: Go to `chrome://settings/content/notifications` - Firefox: Go to `about:preferences` → search "notifications" 3. Service Worker: - Chrome: Go to `chrome://serviceworker-internals` - Firefox: Go to `about:serviceworkers` 4. Cache Storage: - Chrome: Dev tools → Application - Firefox: Dev tools → Storage (Additional reset steps may be documented in HelpNotificationsView.vue) ## Troubleshooting 1. Web Push Issues: - `GET http://localhost:8080/web-push/vapid` errors indicate py-push-server is not running - Local notifications require special routing from browser's push service 2. Identity Errors: - "No keys for ID" errors may occur when current account was erased - Account switching can cause issues with erased accounts 3. Encryption Issues: - "DEXIE ENCRYPT ADDON: Could not decrypt message!" indicates wrong encryption key - May occur after clearing storage - Usually requires storage erasure and identifier reload