projectEndings / staticSearch

A codebase to support a pure JSON search engine requiring no backend for any XHTML5 document collection
https://endings.uvic.ca/staticSearch/docs/index.html
Mozilla Public License 2.0
50 stars 22 forks source link

Headless testing (resolves #204) #292

Closed joeytakeda closed 6 months ago

joeytakeda commented 6 months ago

This branch adds some browser-based testing (using Playwright) — at the moment, this is only configured to work in the GitHub CI environment (since I didn't want to have to add unnecessary package.json files to the repository). But it can be run locally using:

npm i @playwright/test @node/types --no-save
npx playwright install --with-deps chromium
npx playwright test --config  ./ci/playwright.config.js // Runs on 8080

At the moment, this just confirms that the tests pass successfully (e.g. the final test div is created with a success complete class). But we could definitely add more tests (including checking popState, results scrolling, or ensuring that different UI components like the autocomplete all work successfully)