The app includes a Playwright integration test suite. Tests run against a temporary data directory so your real data is never touched.
Node.js (for Playwright)
python3 serve.py --run-testsThis will:
- Create an isolated temp directory for test data
- Generate test fixture images (with EXIF GPS data)
- Install Playwright and Chromium (first run only)
- Start the server and run all 67 tests
- Clean up and exit with the test result code
You may need to run
npx playwright installfirst if browsers aren't installed.
# Start the server in one terminal
python3 serve.py
# Run specific tests in another terminal
cd tests
npx playwright test specs/albums.spec.js --project=chromiumcd tests
npx playwright test --grep "empty map cache"tests/
├── specs/ # Test files
│ ├── albums.spec.js
│ ├── api.spec.js
│ ├── app-load.spec.js
│ ├── countries-bar.spec.js
│ ├── lightbox.spec.js
│ ├── photo-management.spec.js
│ ├── photo-upload.spec.js
│ ├── pin-position.spec.js
│ ├── safari-reload.spec.js
│ ├── settings-export-import.spec.js
│ └── sidebar.spec.js
├── helpers/
│ └── test-setup.js # setupApp, uploadTestPhotos, clearState
├── fixtures/ # Generated test images with EXIF GPS data
└── playwright.config.js