Test/add e2e and unit testing (#1282)
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled

* feat: add string utility tests and vitest browser configuration

* feat: add Playwright for end-to-end testing and update snapshots

- Introduced Playwright for E2E testing with a new configuration file.
- Added test scripts to package.json for running E2E tests.
- Updated package-lock.json and package.json with new dependencies for Playwright and types.
- Created new SVG snapshot files for various layers (ruler, scaleBar, temperature, terrain, vignette, zones) to support visual testing.
- Excluded e2e directory from TypeScript compilation.

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add SVG layer snapshots for various components

- Added ruler layer snapshot with hidden display.
- Added scale bar layer snapshot with detailed structure and styling.
- Added temperature layer snapshot with opacity and stroke settings.
- Added terrain layer snapshot with ocean and land heights groups.
- Added vignette layer snapshot with mask and opacity settings.
- Added zones layer snapshot with specified opacity and stroke settings.

* fix: update Playwright browser installation command to use npx

* Update snapshots

* refactor: remove unused layer tests and their corresponding snapshots as fonts are unpredictable

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Marc Emmanuel 2026-01-23 16:50:21 +01:00 committed by GitHub
parent c590c168f4
commit 9903f0b9aa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
38 changed files with 963 additions and 6 deletions

18
vitest.browser.config.ts Normal file
View file

@ -0,0 +1,18 @@
import { defineConfig } from 'vitest/config'
import { playwright } from '@vitest/browser-playwright'
export default defineConfig({
test: {
browser: {
enabled: true,
provider: playwright(),
// https://vitest.dev/config/browser/playwright
instances: [
{ name: 'chromium', browser: 'chromium' },
],
locators: {
testIdAttribute: 'id',
},
},
},
})