Browse Source
- Add ARIA annotations and roles to AccountViewView for better screen reader support - Add role="tooltip" to API server description - Improve input control accessibility with proper ARIA attributes - Add descriptive labels and aria-labels for interactive elements - Create comprehensive README.md for Playwright test suite - Document test structure and organization - Add setup instructions and prerequisites - Include troubleshooting guide and contribution guidelines - Link to related documentation This change improves accessibility compliance and makes the test suite more maintainable for contributors.pull/133/head
4 changed files with 2800 additions and 441 deletions
File diff suppressed because it is too large
@ -0,0 +1,119 @@ |
|||||
|
# Playwright Test Suite |
||||
|
|
||||
|
This directory contains the automated end-to-end test suite for Time Safari using Playwright. The tests verify critical functionality across web and mobile platforms. |
||||
|
|
||||
|
## Test Structure |
||||
|
|
||||
|
Tests are organized by feature area and numbered for execution order: |
||||
|
|
||||
|
- `00-noid-tests.spec.ts` - Tests for unregistered users |
||||
|
- `05-invite.spec.ts` - Contact invitation functionality |
||||
|
- `10-check-usage-limits.spec.ts` - Usage limit verification |
||||
|
- `20-create-project.spec.ts` - Project creation |
||||
|
- `25-create-project-x10.spec.ts` - Bulk project creation |
||||
|
- `30-record-gift.spec.ts` - Gift recording |
||||
|
- `33-record-gift-x10.spec.ts` - Bulk gift recording |
||||
|
- `35-record-gift-from-image-share.spec.ts` - Gift recording from shared images |
||||
|
- `37-record-gift-on-project.spec.ts` - Project-specific gift recording |
||||
|
- `40-add-contact.spec.ts` - Contact management |
||||
|
- `50-record-offer.spec.ts` - Offer recording |
||||
|
- `60-new-activity.spec.ts` - Activity feed updates |
||||
|
|
||||
|
## Key Files |
||||
|
|
||||
|
- `testUtils.ts` - Shared test utilities and helper functions |
||||
|
- `TESTING.md` - Detailed testing guide and manual test procedures |
||||
|
- `playwright.config-local.ts` - Playwright configuration for local testing |
||||
|
- `exported-data.json` - Test data for import/export testing |
||||
|
|
||||
|
## Prerequisites |
||||
|
|
||||
|
1. Endorser server running locally (see TESTING.md for setup) |
||||
|
2. Playwright browsers installed: |
||||
|
```bash |
||||
|
npx playwright install |
||||
|
``` |
||||
|
3. For mobile testing: |
||||
|
- XCode (for iOS) |
||||
|
- Android Studio or connected Android device |
||||
|
|
||||
|
## Running Tests |
||||
|
|
||||
|
### Full Test Suite |
||||
|
|
||||
|
```bash |
||||
|
# Run all tests (web + mobile) |
||||
|
npm run test:all |
||||
|
|
||||
|
# Run web-only tests |
||||
|
npm run test:web |
||||
|
``` |
||||
|
|
||||
|
### Individual Tests |
||||
|
|
||||
|
```bash |
||||
|
# Run a specific test with tracing |
||||
|
npx playwright test -c playwright.config-local.ts --trace on test-playwright/40-add-contact.spec.ts |
||||
|
``` |
||||
|
|
||||
|
### Test Environment Options |
||||
|
|
||||
|
1. Local Endorser Server (default): |
||||
|
```bash |
||||
|
NODE_ENV=test-local npm run dev |
||||
|
``` |
||||
|
|
||||
|
2. Global Test Server: |
||||
|
```bash |
||||
|
VITE_DEFAULT_ENDORSER_API_SERVER=https://test-ledger.time.com npm run dev |
||||
|
``` |
||||
|
|
||||
|
3. Minimal Test Data: |
||||
|
```bash |
||||
|
rm ../endorser-ch-test-local.sqlite3 |
||||
|
NODE_ENV=test-local npm run flyway migrate |
||||
|
NODE_ENV=test-local npm run test test/controller0 |
||||
|
NODE_ENV=test-local npm run dev |
||||
|
``` |
||||
|
|
||||
|
## Test Data |
||||
|
|
||||
|
The test suite uses predefined test users, with User #0 having registration privileges: |
||||
|
- DID: `did:ethr:0x0000694B58C2cC69658993A90D3840C560f2F51F` |
||||
|
- Seed phrase available in TESTING.md |
||||
|
|
||||
|
## Troubleshooting |
||||
|
|
||||
|
Common issues and solutions: |
||||
|
|
||||
|
1. **Test Failures** |
||||
|
- Some tests may fail intermittently - try rerunning |
||||
|
- Check Endorser server logs for backend issues |
||||
|
- Verify test environment setup |
||||
|
|
||||
|
2. **Mobile Testing** |
||||
|
- Ensure XCode/Android Studio is running |
||||
|
- Check device connectivity |
||||
|
- Verify browser installation |
||||
|
|
||||
|
3. **Data Issues** |
||||
|
- Clear browser data if tests fail due to stale state |
||||
|
- Reset IndexedDB if needed |
||||
|
- Check service worker status |
||||
|
|
||||
|
For more detailed troubleshooting, see TESTING.md. |
||||
|
|
||||
|
## Contributing |
||||
|
|
||||
|
When adding new tests: |
||||
|
1. Follow the existing naming convention |
||||
|
2. Use testUtils.ts for common operations |
||||
|
3. Add appropriate comments and documentation |
||||
|
4. Update this README if adding new test categories |
||||
|
5. Consider both web and mobile platforms |
||||
|
|
||||
|
## Related Documentation |
||||
|
|
||||
|
- [TESTING.md](./TESTING.md) - Detailed testing guide |
||||
|
- [Playwright Documentation](https://playwright.dev/docs/intro) |
||||
|
- Endorser server documentation for test setup |
Loading…
Reference in new issue