d88e202bb3
Fix critical bugs: oil prices ¥0.00, ingredient field mapping
...
- oils store: change Map to plain object for Vue reactivity
- recipes store: map `oil_name` from API (was only mapping `oil`/`name`)
- OilReference: fix .get() calls to bracket access
- Add price-display.cy.js regression test (3 tests)
- Add visual-check.cy.js for screenshot verification
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 20:35:01 +00:00
ad3af5bd56
Expand test suite to 364 tests (168 unit + 196 E2E)
...
Unit tests:
- Volume/dilution calculation (63 tests): scaling, mode detection,
ratio calculation, real recipe round-trip verification
E2E tests:
- Batch operations: create/tag/delete 3 recipes, adopt workflow
- Projects: CRUD, pricing, profit calculation vs oil costs
- Notifications: fetch, fields, mark-all-read
- Account settings: profile read/update, auth rejection
- Category modules: listing, tag reference
- Registration: register, login, duplicate rejection
- Audit log: pagination, field validation, action tracking
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 19:59:22 +00:00
2491479c2c
Add comprehensive test suite: 105 unit + 167 E2E tests
...
- Vitest unit tests: smart paste parsing (37), cost calculations (21),
oil translation (16), dialog system (12), with production data fixtures
- Cypress E2E tests: API CRUD (27), auth flow (8), recipe detail (10),
search (12), oil reference (4), favorites (6), inventory (6),
recipe management (10), diary (11), bug tracker (8), user management (13),
cost parity (6), data integrity (8), responsive (9), performance (6),
navigation (8), admin flow (5)
- Test coverage doc with prioritized gap analysis
- Found backend bug: POST /api/bug-reports/{id}/comment deletes the bug
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 19:47:47 +00:00
ee8ec23dc7
Refactor frontend to Vue 3 + Vite + Pinia + Cypress E2E
...
- Replace single-file 8441-line HTML with Vue 3 SPA
- Pinia stores: auth, oils, recipes, diary, ui
- Composables: useApi, useDialog, useSmartPaste, useOilTranslation
- 6 shared components: RecipeCard, RecipeDetailOverlay, TagPicker, etc.
- 9 page views: RecipeSearch, RecipeManager, Inventory, OilReference, etc.
- 14 Cypress E2E test specs (113 tests), all passing
- Multi-stage Dockerfile (Node build + Python runtime)
- Demo video generation scripts (TTS + subtitles + screen recording)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 18:35:00 +00:00
0368e85abe
Initial commit: Essential Oil Formula Cost Calculator
2026-04-06 13:46:32 +00:00