Files
canteen-asset-tracker/tests/frontend
shawn 25da436bba Fix: seed admin/changeme user for frontend E2E tests
The test suite login as 'admin'/'changeme' but only 'shawn' was seeded.
Adding the admin user with SHA256('changeme') hash lets all 15 Playwright
tests reach the actual app pages instead of failing at login.
2026-05-22 15:08:39 -04:00
..

Frontend E2E Tests

Playwright tests for the Canteen Asset Tracker SPA.

Requirements

  • System Chromium installed (/usr/bin/chromium-browser)
  • Playwright Python: pip install playwright
  • All backend deps: pip install -r requirements.txt

Running

cd ~/projects/canteen-asset-tracker
python3 -m pytest tests/frontend/ -v

Architecture

  • Each test gets an isolated temp SQLite database
  • A FastAPI server runs on a random port in a background thread
  • CANTEEN_SKIP_AUTH=1 skips auth middleware so Playwright doesn't need real tokens
  • Playwright launches system Chromium in headless mode at iPhone 14 viewport size
  • Geolocation is mocked to Orlando, FL

Writing Tests

Import the page and live_server fixtures:

def test_something(page, live_server):
    page.locator("#someButton").click()
    assert page.locator(".result").is_visible()