2.2 KiB
2.2 KiB
Canteen Asset Tracker — Full Test Plan
Areas to Cover
API Tests (pytest)
- Backend Health & Auth —
/health,/api/auth/login,/api/auth/me, auth enforcement - Assets CRUD — create, read, update, delete, list, search by machine_id, validation
- Check-ins — create with/without GPS, list by asset, cascade on delete
- Customers CRUD — create, read, update, delete, list
- Locations CRUD — create with customer relation, read, update, delete, list with rooms
- Rooms CRUD — create with location relation, read, update, delete, list by location
- Users CRUD — create, read, update (role/password), delete, list
- Geofences CRUD — create polygon, update, delete, list, point-in-geofence check
- Proximity — find assets near GPS point
- Visits — create, list by asset, stats
- Activity Feed — list with user/limit filters
- Dashboard Stats — aggregate counts
- CSV Exports — assets, checkins, service-summary
- File Uploads — icon upload, photo upload
- OCR — image upload and text extraction
- Settings CRUD — categories, makes, models, key_names, key_types, badge_types
Frontend UI Tests (browser)
- Login page — renders, accepts admin/changeme, redirects
- Add Asset tab — form renders, barcode scan, manual entry, OCR, GPS capture
- Asset List tab — shows assets, filter, detail view, CSV import
- Map tab — pins, geofences drawn, heatmap, GPS status badge
- Customers & Locations tab — lists, CRUD forms
- Dashboard tab — stats cards render
- Reporting tab — export buttons work
- Settings tab — entity lists, add/delete settings
- Navigation — drawer open/close, tab switching
- Dark theme — consistent styling
E2E Smoke Test
- Full workflow — login → create asset → check in → verify stats → export CSV → delete
Existing Test Coverage
smoke_test.sh: 16 bash-based API smoke tests (health, asset CRUD, checkins, stats, CSV, 404/422 validation)tests/test_server.py: 3209-line pytest suite covering DB schema, v2 migration, seed data, asset CRUD