## Route `/batch-compress` ## Scenarios to test ### Upload - [ ] Dropzone accepts multiple files at once - [ ] Uploading 3 images shows all 3 in a file list with names and original sizes - [ ] Adding more files via the dropzone appends to the list (does not replace) - [ ] Each file row shows the original file size ### Controls - [ ] Format selector (JPEG/WebP/PNG) applies to all files - [ ] Quality slider is visible for lossy formats and affects all files - [ ] Selecting PNG hides the quality slider ### Per-file compression preview - [ ] After processing starts (or on initial load), each file row shows the compressed size - [ ] A savings percentage or size reduction is displayed per file - [ ] The total original size vs. total compressed size summary is visible ### Remove individual files - [ ] A remove button on each file row removes that file from the list - [ ] Removing all files returns the tool to the upload state ### Download - [ ] "Compress All & Download ZIP" button triggers a `.zip` download - [ ] The ZIP contains one file per uploaded image - [ ] Each file in the ZIP has the correct extension for the selected output format - [ ] Files in the ZIP are smaller than the originals (for JPEG/WebP) ## Acceptance criteria - Batch upload of 5 images → ZIP download containing 5 compressed files - File count in ZIP matches number of uploaded images
Route
/batch-compressScenarios to test
Upload
Controls
Per-file compression preview
Remove individual files
Download
.zipdownloadAcceptance criteria