Add Playwright test suite (51 tests, all passing)
Deploy to Dev / Deploy & Smoke Test (push) Successful in 23s

- tests/api.spec.js: 17 tests covering public booking API and admin CRUD
  (health, POST bookings, auth rejection, stats, filters, PATCH, CSV export)
- tests/booking.spec.js: 12 tests covering the 7-step booking wizard
  (open/close, date validation, step progression, contract scroll+signature,
  payment checkbox, full end-to-end booking flow)
- tests/dashboard.spec.js: 15 tests covering the admin dashboard
  (login, wrong passphrase, Enter key, sign out, overview stats, calendar
  month nav, bookings table, search filter, row expand, CSV download)
- tests/portfolio.spec.js: 7 tests covering the portfolio site
  (nav, book button, portfolio section, config, health, theme color)
- playwright.config.js: Chromium headless, BASE_URL + ADMIN_SECRET via env
- Fix dangling client-email input outside step-panel (was visible, making
  the booking modal taller and hiding the Next button in headless mode)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-08 22:57:49 -06:00
parent 643e5afdc8
commit 4aa534d1f7
9 changed files with 742 additions and 5 deletions
+25
View File
@@ -0,0 +1,25 @@
{
"name": "lisilou-portfolio",
"version": "1.0.0",
"description": "A lightweight, configurable photography portfolio website designed to integrate with Immich for image hosting and client gallery access.",
"main": "index.js",
"scripts": {
"test": "playwright test",
"test:headed": "playwright test --headed",
"test:ui": "playwright test --ui"
},
"repository": {
"type": "git",
"url": "git+https://github.com/jhodgkin/lisilou-portfolio.git"
},
"keywords": [],
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/jhodgkin/lisilou-portfolio/issues"
},
"homepage": "https://github.com/jhodgkin/lisilou-portfolio#readme",
"devDependencies": {
"@playwright/test": "^1.61.1"
}
}