Summary
Comprehensive plan to expand E2E testing coverage across all major features of OpenTranscribe. This builds on the existing authentication tests (login, registration, auth flow) to cover the full user experience.
Current State
Existing E2E Tests: backend/tests/e2e/
test_login.py - ~50 tests (form validation, success/failure, security, session, UI, accessibility)
test_registration.py - ~35 tests (form validation, password requirements, duplicate prevention)
test_auth_flow.py - Combined authentication flow tests
conftest.py - Shared fixtures (login_page, authenticated_page, auth_helper, api_helper)
Proposed Expansion Phases
| Phase |
Priority |
Description |
| 1 |
High |
Gallery page tests (load, filters, sorting, pagination, view modes) |
| 2 |
High |
File upload tests (drag/drop, progress, URL upload, processing status) |
| 3 |
Medium |
Settings/Profile tests (modal, password change, language, admin) |
| 4 |
Medium |
Transcription viewing/editing tests (player, segments, speaker editing) |
| 5 |
Medium |
Search functionality tests (input, results, filters, pagination) |
| 6 |
Medium |
Test runner scripts (run-e2e-tests.sh, run-e2e-smoke.sh, etc.) |
| 7 |
Low |
Mobile/responsive tests (multiple viewports) |
| 8 |
High |
GitHub Actions CI workflow |
| 9 |
Low |
Visual regression testing |
| 10 |
Medium |
Combined API + E2E tests |
Test Files & URLs for Upload Tests
The plan includes setup for test media files and URLs:
test_audio_short.mp3 - 5s audio for quick upload tests
test_video_short.mp4 - 5s video for upload tests
test_audio_speech.mp3 - 30s audio for transcription verification
- YouTube, Archive.org, and direct MP3 URLs for URL upload testing
New Test Markers
markers =
smoke: quick smoke tests
gallery: gallery page tests
upload: upload functionality tests
settings: settings tests
transcription: transcription tests
search: search tests
responsive: responsive/mobile tests
visual: visual regression tests
api_e2e: combined API and E2E tests
Full Implementation Plan
📋 Detailed plan document: https://gist.github.com/davidamacey/3269b5d9dc6667d7700d8b4c785ffcce
The gist contains:
- Complete test class and method specifications
- Test file setup scripts
- Directory structure after implementation
- CI/CD workflow example
- Test credentials and troubleshooting tips
Implementation Order
| Week |
Phases |
Focus |
| 1 |
1, 8 |
Gallery tests + CI workflow |
| 2 |
2 |
Upload tests with test media files |
| 3 |
3, 4 |
Settings + Transcription tests |
| 4 |
5, 6 |
Search tests + Runner scripts |
| Future |
7, 9, 10 |
Responsive, Visual, API+E2E |
Running Tests
# Smoke tests only (fast)
pytest backend/tests/e2e/ -m smoke -v
# Upload tests
pytest backend/tests/e2e/ -m upload -v
# All except slow
pytest backend/tests/e2e/ -m "not slow" -v
# With visible browser (XRDP)
DISPLAY=:13 pytest backend/tests/e2e/ -v --headed
Labels
testing
enhancement
documentation
Summary
Comprehensive plan to expand E2E testing coverage across all major features of OpenTranscribe. This builds on the existing authentication tests (login, registration, auth flow) to cover the full user experience.
Current State
Existing E2E Tests:
backend/tests/e2e/test_login.py- ~50 tests (form validation, success/failure, security, session, UI, accessibility)test_registration.py- ~35 tests (form validation, password requirements, duplicate prevention)test_auth_flow.py- Combined authentication flow testsconftest.py- Shared fixtures (login_page,authenticated_page,auth_helper,api_helper)Proposed Expansion Phases
run-e2e-tests.sh,run-e2e-smoke.sh, etc.)Test Files & URLs for Upload Tests
The plan includes setup for test media files and URLs:
test_audio_short.mp3- 5s audio for quick upload teststest_video_short.mp4- 5s video for upload teststest_audio_speech.mp3- 30s audio for transcription verificationNew Test Markers
markers = smoke: quick smoke tests gallery: gallery page tests upload: upload functionality tests settings: settings tests transcription: transcription tests search: search tests responsive: responsive/mobile tests visual: visual regression tests api_e2e: combined API and E2E testsFull Implementation Plan
📋 Detailed plan document: https://gist.github.com/davidamacey/3269b5d9dc6667d7700d8b4c785ffcce
The gist contains:
Implementation Order
Running Tests
Labels
testingenhancementdocumentation