navidrome/server/e2e
Deluan 1dba4064a8 test(lyrics): cover songLyrics v1 vs v2 with word-level fixtures
Correct and expand the e2e lyrics coverage to match the OpenSubsonic songLyrics
extension contract:

- v1 (getLyricsBySongId, no enhanced): line-level lyrics with no cueLine, kind,
  or agents — even for word-level formats (ELRC, Lyricsfile YAML).
- v2 (getLyricsBySongId?enhanced=true): word-level cueLine surfaces for ELRC and
  YAML sources; kind="main" is set; a line-level source (SRT) still yields no
  cueLine even when enhanced.
- legacy getLyrics (artist/title): the original Subsonic endpoint, flattening any
  format to plain text. A prior commit mislabeled this as the "v1 contract";
  getLyrics predates OpenSubsonic and is unrelated to the extension versions.

Drive these with the public-domain tests/fixtures/lyrics files (the same set the
parser benchmarks use) so the e2e content stays in sync and actually carries the
word-level timing needed to distinguish v1 from v2. The embedded "synced LRC"
fixture is upgraded to ELRC (word-level); track counts are unchanged, so the
rest of the suite is unaffected.
2026-06-19 17:34:24 -04:00
..
doc.go docs: documents how subsonic e2e tests are structured 2026-02-11 22:49:41 -05:00
e2e_suite_test.go test(lyrics): cover songLyrics v1 vs v2 with word-level fixtures 2026-06-19 17:34:24 -04:00
subsonic_album_lists_test.go test(lyrics): add subsonic e2e baseline for getLyrics endpoints 2026-06-19 13:52:41 -04:00
subsonic_bookmarks_test.go fix(subsonic): always return required playqueue fields (#5172) 2026-03-12 08:29:37 -04:00
subsonic_browsing_test.go test(e2e): add transcode endpoint e2e tests and clean up test helpers 2026-03-09 09:43:55 -04:00
subsonic_lyrics_test.go test(lyrics): cover songLyrics v1 vs v2 with word-level fixtures 2026-06-19 17:34:24 -04:00
subsonic_media_annotation_test.go feat(subsonic): implement playbackReport OpenSubsonic extension (#5442) 2026-04-30 23:04:05 -04:00
subsonic_media_retrieval_test.go fix: implement fallback to DefaultDownsamplingFormat for unknown formats 2026-03-11 09:46:13 -04:00
subsonic_multilibrary_test.go test(lyrics): add subsonic e2e baseline for getLyrics endpoints 2026-06-19 13:52:41 -04:00
subsonic_multiuser_test.go fix(subsonic): require admin access for Subsonic management endpoints (#5510) 2026-05-19 14:23:38 -03:00
subsonic_playlists_test.go feat(smartplaylist): extend isMissing/isPresent to bpm, bitDepth and many text fields (#5603) 2026-06-13 13:15:20 -04:00
subsonic_radio_test.go fix(subsonic): require admin access for Subsonic management endpoints (#5510) 2026-05-19 14:23:38 -03:00
subsonic_scan_test.go refactor: move playlist business logic from repositories to service layer (#5027) 2026-02-21 19:57:13 -05:00
subsonic_searching_test.go test(lyrics): add subsonic e2e baseline for getLyrics endpoints 2026-06-19 13:52:41 -04:00
subsonic_sharing_test.go fix(share): enforce per-user ownership on share reads 2026-06-05 15:50:59 -04:00
subsonic_sonic_similarity_test.go feat(subsonic): add structured sidecar lyrics support with OpenSubsonic v2 karaoke cues and agent layers (#5076) 2026-06-19 12:00:58 -04:00
subsonic_stream_test.go fix(transcoding): clamp target channels to codec limit (#5336) (#5345) 2026-04-11 23:15:07 -04:00
subsonic_system_test.go test(subsonic): add comprehensive e2e test suite for Subsonic API (#5003) 2026-02-09 08:24:37 -05:00
subsonic_transcode_test.go fix(transcoding): honor player forced format on the WebUI transcode flow (#5613) 2026-06-14 20:52:19 -04:00
subsonic_users_test.go test(subsonic): add comprehensive e2e test suite for Subsonic API (#5003) 2026-02-09 08:24:37 -05:00