Skip to content

test(app): add E2E integration tests#89

Merged
pasrom merged 3 commits intomainfrom
test/e2e-improvements
Apr 5, 2026
Merged

test(app): add E2E integration tests#89
pasrom merged 3 commits intomainfrom
test/e2e-improvements

Conversation

@pasrom
Copy link
Copy Markdown
Owner

@pasrom pasrom commented Apr 5, 2026

Summary

  • Resampling integration (4 tests): Real WAV/MP3 fixtures through AudioMixer.resampleFile(), pipeline tests with real audio through resampling into mock engine (single + dual-source). Skip gracefully when LFS fixtures not checked out.
  • Protocol SSE roundtrip (2 tests): Full prompt→request→SSE stream→markdown assembly with realistic multi-chunk response. Verifies German umlauts and special characters survive parsing.
  • Crash-recovery E2E (2 tests): Simulate crash during transcription/diarization via snapshot save, create fresh queue from snapshot, verify job resumes and completes. Required making saveSnapshot() internal (was private writeSnapshot()).

Notes

Task 4 (Golden-File transcription quality tests) deferred — requires model download and full LFS checkout. Plan saved in docs/plans/2026-04-05-e2e-test-improvements.md.

Test plan

  • 8 new tests: 4 pass, 4 skip (LFS fixtures), 0 failures
  • Full suite: 928 tests, 9 unexpected failures (all pre-existing fixture issues)
  • Lint: 0 violations

@github-actions github-actions bot added the chore Maintenance or non-functional changes label Apr 5, 2026
pasrom added 3 commits April 5, 2026 21:17
Real WAV/M4A/MP3 fixtures through AudioMixer.resampleFile(), verifying
16kHz mono output. Pipeline tests with real fixtures through
resampling into mock engine for single and dual-source paths.
Tests skip gracefully when fixtures are unavailable.
Full prompt→request→SSE stream→markdown assembly path with realistic
multi-chunk response. Verifies special characters (German umlauts,
quotes) survive the SSE parsing pipeline.
Simulate app crash during transcription and diarization by saving
snapshot, creating fresh queue from snapshot, and verifying job
resumes from .waiting state and completes successfully.

Rename private writeSnapshot() to internal saveSnapshot() for
test access via @testable import.
@pasrom pasrom force-pushed the test/e2e-improvements branch from 8ad6f33 to cd44ec3 Compare April 5, 2026 19:18
@pasrom pasrom merged commit be44a84 into main Apr 5, 2026
6 checks passed
@pasrom pasrom deleted the test/e2e-improvements branch April 5, 2026 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance or non-functional changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant