Commit Graph

24 Commits

Author SHA1 Message Date
aferrer 91dc0220ae feat(assignments): emit ADJUSTMENT movement on quantity change 2026-06-25 16:58:03 +02:00
aferrer 1142855578 feat(assets): thread previousStatus through movement writes 2026-06-25 03:25:47 +02:00
aferrer a0a1e1bdc8 feat(movements): gate StockMovementLine on trackingType QUANTITY 2026-06-25 03:22:08 +02:00
aferrer 8f7a406e83 fix(assets): omit phantom stock line for ASSIGNED assets 2026-06-25 03:14:00 +02:00
aferrer 95c52579d1 refactor(movements): normalize snapshot convention to mutate-then-write 2026-06-25 03:11:15 +02:00
aferrer 575cd2d9a0 feat(items): emit ISSUE/ADJUSTMENT movement on stock decrease 2026-06-25 03:03:26 +02:00
aferrer 0d38626f3a test(cleanup): remove legacy admin users references 2026-06-20 16:27:36 +02:00
aferrer f32d55a7b0 feat(assets): add asset metadata views and enforce assignment transitions 2026-06-19 17:14:22 +02:00
aferrer c1763ed007 feat(assignments): support line-based returns and authenticated updates 2026-06-19 17:14:22 +02:00
aferrer 965a04a468 feat(items): adapt item flows to inventory schema defaults and SKU generation 2026-06-19 17:14:22 +02:00
aferrer 7b8a415c6a feat(people): align people, users, and categories with active inventory records 2026-06-19 17:14:22 +02:00
aferrer 6d34a2f74f feat(inventory): support line-based assignments and movements 2026-06-19 01:05:33 +02:00
aferrer 8e6a00c2a9 feat(people): adapt person user flows to status model 2026-06-19 01:05:33 +02:00
aferrer 01d89cd21b feat(auth): align login and bootstrap with new user schema 2026-06-19 01:05:33 +02:00
aferrer d6b42d78e7 refactor: consolidate admin/users management under /people 2026-06-17 09:32:26 +02:00
aferrer 1f5a849bf5 feat: unify Person and User creation form with conditional password 2026-06-16 21:48:59 +02:00
aferrer e5717461cf feat: add unified Person+User creation backend 2026-06-16 21:21:17 +02:00
aferrer 68c2983d36 refactor: remove username from User model, login by email only 2026-06-16 16:18:42 +02:00
aferrer caf19575c6 refactor: rename DB columns recipientId to personId 2026-06-16 13:37:58 +02:00
aferrer cf6820a7aa refactor: rename remaining recipient references to person/people 2026-06-16 13:34:15 +02:00
aferrer ecc3cf1b55 refactor: rename recipients route to people, update all frontend references 2026-06-16 11:26:21 +02:00
aferrer d67f31cf54 refactor: rename Recipient to Person, remove username, add userId FK 2026-06-16 10:04:24 +02:00
aferrer 18a192a069 chore: apply Biome cleanup 2026-06-11 04:56:01 +02:00
aferrer f2b9239d82 test: add initial unit integration and e2e coverage
Adds the initial testing baseline for the project:

   Unit coverage:
   - Zod schemas for items, assignments, movements, categories, auth, recipients, users, and assets
   - password hashing and verification helpers
   - auth role helper functions

   Integration coverage with PostgreSQL Testcontainers:
   - item use-cases: create, duplicate names, delete constraints
   - assignment use-cases: create, insufficient stock, return, double return
   - asset use-cases: available/assigned creation and lifecycle transitions
   - user use-cases: create/update, uniqueness, admin safeguards, password reset
   - category use-cases: create/update/delete constraints
   - recipient use-cases: create/update and uniqueness constraints

   E2E smoke coverage with Playwright:
   - unauthenticated redirect to login
   - seeded admin login
   - dashboard load
   - admin users page
   - inventory items page
   - assignments page

   Also configures:
   - Vitest
   - Playwright
   - PostgreSQL Testcontainers helpers
   - deterministic E2E admin bootstrap
   - test artifact ignores

   Validation:
   - bun run test: 9 files / 37 tests passed
   - bun run test:e2e: 3 passed
   - bunx tsc --noEmit: passed
   - bunx prisma validate: passed
2026-06-07 04:14:01 +02:00