ShelfSeeker E2E report

Run 2026-10-29 07:55 UTC · app commit 3f909d9 (improve/search-errors-export) · Playwright 1.64.1 · 2m 35s

What this covers. The tests drive a real production build of ShelfSeeker in Chromium (desktop and Pixel 7 emulation) against a fake OpenLibrary defined in the test repo. They verify the app's behaviour, request URLs and error handling. They do not verify that the live openlibrary.org API accepts the same queries, and they do not test a real camera, Firefox or Safari.

Summary

Total78
Passed78
Failed0
Flaky (passed on retry)0
Skipped0
Pass rate100%

Trend (last 21 runs)

2026-10-16T12:53 - 78 passed, 0 failed, 0 flaky (app 3e12dee) 2026-10-16T13:10 - 78 passed, 0 failed, 0 flaky (app 3e12dee) 2026-10-17T06:28 - 78 passed, 0 failed, 0 flaky (app 3e12dee) 2026-10-18T01:59 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-18T03:12 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-18T03:17 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-18T06:53 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-19T07:13 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-20T07:00 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-21T06:54 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-22T00:25 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-22T00:36 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-22T05:11 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-22T06:58 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-23T06:51 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-24T06:47 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-25T07:12 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-26T07:19 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-27T07:11 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-28T07:50 - 78 passed, 0 failed, 0 flaky (app 3f909d9) 2026-10-29T07:55 - 78 passed, 0 failed, 0 flaky (app 3f909d9)

By browser project

ProjectResultPassedFailedFlakyTime
desktop
39002m 25s
mobile
39002m 33s

By spec file

FileResultPassedFailedFlakyTime
detail-isbn-theme.spec.ts
140048.3s
errors.spec.ts
18001m 3s
gallery.spec.ts
40023.1s
readinglist.spec.ts
16001m 18s
search.spec.ts
26001m 25s

Slowest tests

a slow search shows a "responding slowly" notice and then the results (mobile)8.6s
screens (mobile)8.6s
a slow search shows a "responding slowly" notice and then the results (desktop)8.4s
screens (desktop)8.0s
import restores a list in a fresh browser, merge reports what changed (mobile)8.0s

Failures

None in this run.

All tests

StatusTestProjectFileTime
passedsearch result -> detail page with description, subjects and similar booksdesktopdetail-isbn-theme.spec.ts3.1s
passedISBN lookup shows the edition detailsdesktopdetail-isbn-theme.spec.ts3.3s
passedbarcode scan without BarcodeDetector support shows an honest noticedesktopdetail-isbn-theme.spec.ts2.9s
passedauthor search shows birth date and top book when expandeddesktopdetail-isbn-theme.spec.ts2.9s
passedtyping an author name does not show "not found" before searchingdesktopdetail-isbn-theme.spec.ts2.8s
passeddark mode toggle switches the theme and is remembered after reloaddesktopdetail-isbn-theme.spec.ts5.3s
passedevery bottom-nav page loads without a crashdesktopdetail-isbn-theme.spec.ts3.2s
passedsearch result -> detail page with description, subjects and similar booksmobiledetail-isbn-theme.spec.ts3.2s
passedISBN lookup shows the edition detailsmobiledetail-isbn-theme.spec.ts3.4s
passedbarcode scan without BarcodeDetector support shows an honest noticemobiledetail-isbn-theme.spec.ts3.1s
passedauthor search shows birth date and top book when expandedmobiledetail-isbn-theme.spec.ts3.2s
passedtyping an author name does not show "not found" before searchingmobiledetail-isbn-theme.spec.ts3.0s
passeddark mode toggle switches the theme and is remembered after reloadmobiledetail-isbn-theme.spec.ts5.6s
passedevery bottom-nav page loads without a crashmobiledetail-isbn-theme.spec.ts3.4s
passedsearch server error shows a message and Try again recoversdesktoperrors.spec.ts3.0s
passednetwork failure shows a connection messagedesktoperrors.spec.ts2.8s
passeda slow search shows a "responding slowly" notice and then the resultsdesktoperrors.spec.ts8.4s
passedfailure while loading more keeps the books already showndesktoperrors.spec.ts2.7s
passedbook detail error offers Try again instead of an endless spinnerdesktoperrors.spec.ts2.7s
passedunknown book id says it was not founddesktoperrors.spec.ts2.5s
passedgoing offline shows the offline banner and an offline-specific search errordesktoperrors.spec.ts2.9s
passedISBN: not in catalogue vs lookup failure are different messagesdesktoperrors.spec.ts2.9s
passedauthor search: empty result and failure are both explaineddesktoperrors.spec.ts2.9s
passedsearch server error shows a message and Try again recoversmobileerrors.spec.ts3.1s
passednetwork failure shows a connection messagemobileerrors.spec.ts3.0s
passeda slow search shows a "responding slowly" notice and then the resultsmobileerrors.spec.ts8.6s
passedfailure while loading more keeps the books already shownmobileerrors.spec.ts2.9s
passedbook detail error offers Try again instead of an endless spinnermobileerrors.spec.ts2.9s
passedunknown book id says it was not foundmobileerrors.spec.ts2.6s
passedgoing offline shows the offline banner and an offline-specific search errormobileerrors.spec.ts3.1s
passedISBN: not in catalogue vs lookup failure are different messagesmobileerrors.spec.ts3.2s
passedauthor search: empty result and failure are both explainedmobileerrors.spec.ts3.1s
passedscreensdesktopgallery.spec.ts8.0s
passederror statedesktopgallery.spec.ts3.0s
passedscreensmobilegallery.spec.ts8.6s
passederror statemobilegallery.spec.ts3.5s
passedadd books from the detail page and see them on My Books with countsdesktopreadinglist.spec.ts5.2s
passedmove a book to another shelf and remove itdesktopreadinglist.spec.ts2.8s
passedthe list survives a reload (localStorage)desktopreadinglist.spec.ts5.0s
passedexport is disabled when the list is emptydesktopreadinglist.spec.ts2.5s
passedexport downloads a JSON file with the saved booksdesktopreadinglist.spec.ts7.5s
passedimport restores a list in a fresh browser, merge reports what changeddesktopreadinglist.spec.ts7.7s
passedimporting a bad file shows an error and keeps the existing listdesktopreadinglist.spec.ts5.1s
passedinvalid entries inside a valid export are skipped and counteddesktopreadinglist.spec.ts2.6s
passedadd books from the detail page and see them on My Books with countsmobilereadinglist.spec.ts5.4s
passedmove a book to another shelf and remove itmobilereadinglist.spec.ts2.9s
passedthe list survives a reload (localStorage)mobilereadinglist.spec.ts5.2s
passedexport is disabled when the list is emptymobilereadinglist.spec.ts2.7s
passedexport downloads a JSON file with the saved booksmobilereadinglist.spec.ts7.7s
passedimport restores a list in a fresh browser, merge reports what changedmobilereadinglist.spec.ts8.0s
passedimporting a bad file shows an error and keeps the existing listmobilereadinglist.spec.ts5.1s
passedinvalid entries inside a valid export are skipped and countedmobilereadinglist.spec.ts2.7s
passedhome shows the default search with a total count and first page of 30desktopsearch.spec.ts2.8s
passedsearching by title shows matching booksdesktopsearch.spec.ts2.9s
passeda search with no matches shows an empty state, not a blank pagedesktopsearch.spec.ts2.9s
passed"Load more" fetches the next pages until everything is loadeddesktopsearch.spec.ts2.9s
passedlanguage filter is sent to the API and applies to the whole result setdesktopsearch.spec.ts2.9s
passedearliest-year filter narrows results across pagesdesktopsearch.spec.ts3.6s
passedan invalid year is ignored and explaineddesktopsearch.spec.ts3.7s
passedtyping a year sends one request after typing stops, and keeps focusdesktopsearch.spec.ts3.9s
passedsubject filter, combined filters and resetdesktopsearch.spec.ts2.9s
passedfilters that match nothing show an empty state with a reset buttondesktopsearch.spec.ts3.6s
passed"Newest first" asks the API for newest and shows newest firstdesktopsearch.spec.ts2.8s
passed"Title A-Z" sorts the loaded books without another API requestdesktopsearch.spec.ts2.8s
passeda new search clears the filtersdesktopsearch.spec.ts3.1s
passedhome shows the default search with a total count and first page of 30mobilesearch.spec.ts3.0s
passedsearching by title shows matching booksmobilesearch.spec.ts3.1s
passeda search with no matches shows an empty state, not a blank pagemobilesearch.spec.ts3.2s
passed"Load more" fetches the next pages until everything is loadedmobilesearch.spec.ts3.0s
passedlanguage filter is sent to the API and applies to the whole result setmobilesearch.spec.ts3.1s
passedearliest-year filter narrows results across pagesmobilesearch.spec.ts3.8s
passedan invalid year is ignored and explainedmobilesearch.spec.ts3.9s
passedtyping a year sends one request after typing stops, and keeps focusmobilesearch.spec.ts4.2s
passedsubject filter, combined filters and resetmobilesearch.spec.ts3.1s
passedfilters that match nothing show an empty state with a reset buttonmobilesearch.spec.ts3.8s
passed"Newest first" asks the API for newest and shows newest firstmobilesearch.spec.ts3.1s
passed"Title A-Z" sorts the loaded books without another API requestmobilesearch.spec.ts3.1s
passeda new search clears the filtersmobilesearch.spec.ts3.1s

Screens the tests looked at (fixture data)