Files
lidify/docs/TESTING_CHECKLIST.md
2025-12-25 18:58:06 -06:00

5.0 KiB

Lidify Testing Checklist

Use this checklist when testing Lidify before releases or after major changes.

This repo includes a one-command smoke test that covers the core flows (API + UI). It intentionally skips “hard” items like lock-screen media controls, background playback on real devices, etc.

Run (one command)

./scripts/predeploy-test.sh

Notes

  • Requires music in MUSIC_PATH (or ./music) with at least one track, otherwise playback/playlist-related checks will fail.
  • Environment overrides (optional):
    • LIDIFY_UI_BASE_URL (default http://127.0.0.1:3030)
    • LIDIFY_API_BASE_URL (default http://127.0.0.1:3006)
    • LIDIFY_TEST_USERNAME / LIDIFY_TEST_PASSWORD
    • LIDIFY_TEARDOWN=0 to keep containers running after the script finishes

🎵 Audio Playback

Music (Tracks)

  • Play a track from an album
  • Play/pause toggle works
  • Seeking works (drag the progress bar)
  • Fast forward (10s) works
  • Rewind (10s) works
  • Next track works
  • Previous track works
  • Volume slider works
  • Mute toggle works
  • Shuffle toggle works (plays random order)
  • Repeat modes work (off, repeat all, repeat one)
  • Queue displays correctly
  • Removing tracks from queue works

Podcasts

  • Play a podcast episode
  • Seeking works (when cached)
  • Progress saves when pausing
  • Progress resumes on different device/browser
  • Can seek far ahead after episode is fully cached/downloaded
  • Subscribing to a new podcast works
  • Unsubscribing from a podcast works
  • Episode list loads correctly

Audiobooks

  • Play an audiobook (requires Audiobookshelf integration)
  • Progress saves automatically
  • Can resume from saved position
  • Reset progress works
  • Mark as complete works

Cross-Device Sync

  • Start playing on desktop, resume on mobile (or vice versa)
  • Queue syncs between devices

Deezer Previews

  • Preview button appears on unowned albums
  • Preview button appears on artist discovery pages
  • Preview plays 30-second clip
  • Preview stops when full track starts
  • Library search finds artists
  • Library search finds albums
  • Library search finds tracks
  • Discovery search finds external artists
  • Discovery search finds podcasts

📥 Downloads & Integration

Lidarr Integration

  • Download entire artist works
  • Download individual album works
  • Download status updates in real-time
  • Webhook triggers library rescan after import

Soularr (Soulseek)

  • Search returns results
  • Download from Soulseek works
  • Downloaded files appear in library after scan

📚 Library Management

Discover Weekly

  • Generate Discover Weekly works
  • Playlist populates with recommendations
  • Can like/dislike albums
  • Liked albums move to permanent collection

Playlists

  • Create new playlist works
  • Add track to playlist works
  • Remove track from playlist works
  • Delete playlist works
  • Reorder tracks (drag and drop) works

🔐 Authentication & Users

Two-Factor Authentication

  • Enable 2FA works
  • Login with 2FA code works
  • Recovery codes work
  • Disable 2FA works

User Management

  • Create new user works (admin only)
  • User can log in
  • User has separate playlists/history
  • Delete user works (admin only)

🎨 Metadata & Enrichment

Artist Enrichment

  • Manual enrichment button works
  • Artist bio populates
  • Artist genres populate
  • Hero image/background loads
  • Album art loads correctly

📱 PWA / Mobile

Installation

  • PWA install prompt appears on mobile browsers
  • Can install to home screen (Android Chrome)
  • Can add to home screen (iOS Safari)

PWA Features

  • Installed PWA opens in standalone mode
  • Media Session controls show in notification/lock screen
  • Background audio continues when screen is off
  • Audio continues when switching tabs

🖥️ UI/UX

General

  • Login page loads correctly
  • Onboarding flow works for new users
  • Navigation between pages works
  • Dark theme renders correctly
  • Mobile responsive layout works

Player

  • Mini player shows on mobile
  • Full player expands correctly
  • Album art displays
  • Artist/track info displays

🐳 Docker

All-in-One Container

  • Container starts without errors
  • Web UI accessible on port 3030
  • API proxying works (rewrites to backend)
  • Database persists on restart
  • Library scan works

Notes

Test Environment:

  • Browser:
  • OS:
  • Lidify Version:
  • Date:

Issues Found: