RUN  v4.1.2 F:/Coding/MeshiTrack/packages/web ❯ src/app/(dashboard)/products/__tests__/ImportDialog.test.tsx (11 tests | 1 failed) 844ms ✓ renders nothing when closed 31ms ✓ renders Import Products title when open  324ms ✓ shows file chooser button 48ms  × shows error when upload clicked without file 94ms ✓ shows file name after selection 52ms ✓ uploads file and shows success result 77ms ✓ shows errors in result 53ms ✓ shows error on import failure 36ms ✓ shows fallback error on non-Error rejection 45ms ✓ closes dialog via Cancel button 18ms ✓ closes dialog via Close button after result 59ms ✓ src/app/(dashboard)/medicines/__tests__/page.test.tsx (3 tests) 321ms ✓ src/app/(dashboard)/medicines/organizer/__tests__/page.test.tsx (3 tests) 241ms ✓ src/app/(dashboard)/medicines/library/__tests__/page.test.tsx (3 tests) 260ms ✓ src/app/(dashboard)/medicines/activity/__tests__/page.test.tsx (3 tests) 261ms ✓ src/components/__tests__/ThemeProvider.test.tsx (8 tests) 326ms ✓ src/app/__tests__/page.test.tsx (2 tests) 528ms ✓ renders Sign In link to /login  435ms ✓ src/components/__tests__/TopBar.test.tsx (4 tests) 1133ms ✓ renders title and subtitle  799ms ✓ src/components/__tests__/Sidebar.test.tsx (8 tests) 1249ms ✓ src/components/__tests__/ui.test.tsx (11 tests) 1049ms ✓ uses custom size  483ms ✓ src/app/(dashboard)/medicines/schedule/__tests__/page.test.tsx (14 tests) 1292ms ✓ src/app/(dashboard)/recipes/new/__tests__/page.test.tsx (3 tests) 825ms ✓ renders editor when household exists  490ms ✓ src/app/(dashboard)/recipes/[id]/edit/__tests__/page.test.tsx (4 tests) 772ms ✓ renders editor when recipe loads  388ms ✓ src/app/(dashboard)/dashboard/__tests__/page.test.tsx (13 tests) 1915ms ✓ renders heading  357ms ✓ src/app/(dashboard)/recipes/[id]/__tests__/page.test.tsx (11 tests) 1605ms ✓ renders recipe details  372ms ✓ src/app/(dashboard)/recipes/__tests__/page.test.tsx (22 tests) 2277ms ✓ renders recipe list when household exists  307ms ✓ src/app/(dashboard)/pantry/__tests__/page.test.tsx (15 tests) 2377ms ✓ shows loading skeleton when session is loading  417ms ✓ renders pantry items when household exists  324ms ✓ src/app/(dashboard)/recipes/__tests__/RecipeEditor.test.tsx (9 tests) 2849ms ✓ renders create form by default  727ms ✓ submits create form  367ms ✓ shows error when create fails  365ms ✓ src/app/(dashboard)/products/__tests__/page.test.tsx (11 tests) 3157ms ✓ renders products when household exists  437ms ✓ filters by search input with debounce  500ms ✓ filters by category dropdown  578ms ✓ deletes product on confirm  387ms ✓ shows error when delete fails  356ms ✓ src/app/(dashboard)/medicines/__tests__/ActivityTab.test.tsx (18 tests) 3222ms ✓ renders Spending Summary and Cabinet Activity sections  454ms ✓ shows clear filters button when filter applied and clears them  757ms ✓ loads more events when Load more is clicked  307ms ✓ src/app/(dashboard)/medicines/__tests__/OrganizerTab.test.tsx (20 tests) 3588ms ✓ shows fill organizer and fill history sections  303ms ✓ shows preview result and executes fill  828ms ✓ src/app/(dashboard)/medicine-prices/__tests__/page.test.tsx (15 tests) 4527ms ✓ loads price history when medicine selected  890ms ✓ shows validation error in form when required fields missing  570ms ✓ records a price successfully  381ms ✓ shows Load more button in price history  357ms ✓ dismisses price history error  333ms ✓ changes medicine search, notes and insurance price fields in form  341ms ✓ toggles Record Price form  408ms ✓ src/app/(dashboard)/purchases/__tests__/page.test.tsx (26 tests) 5626ms ✓ toggles the create form  610ms ✓ shows validation error when no store selected  447ms ✓ shows validation error when no items  335ms ✓ creates a purchase successfully  483ms ✓ cancels the create form  383ms ✓ adds and removes purchase items  669ms ✓ selects a medicine and product in the form  349ms ✓ src/app/(dashboard)/settings/__tests__/page.test.tsx (20 tests) 7860ms ✓ shows loading skeleton when loading  317ms ✓ shows account section always  846ms ✓ creates a household on form submit  542ms ✓ shows error when create fails  324ms ✓ allows editing the household name  883ms ✓ shows error when name update fails  780ms ✓ shows fallback error when non-Error thrown on create household  492ms ✓ shows fallback error when non-Error thrown on join household  510ms ✓ shows fallback error when non-Error thrown on name update  764ms ✓ shows validation error when saving empty name  391ms ✓ src/app/(dashboard)/medicines/__tests__/LibraryTab.test.tsx (14 tests) 4938ms ✓ shows loading skeleton initially  355ms ✓ dismisses error on Dismiss click  677ms ✓ toggles Add Medicine form  304ms ✓ creates medicine and refreshes list  1182ms ✓ cancels CreateMedicineForm with internal Cancel button  437ms ✓ shows fallback error when non-Error is thrown on create medicine  785ms ✓ src/app/(dashboard)/stores/__tests__/page.test.tsx (22 tests) 5992ms ✓ shows Add Store form when button clicked  802ms ✓ cancels the create store form  481ms ✓ cancels the edit store form  663ms ✓ toggles a preset tag and adds a custom tag  1172ms ✓ src/app/(dashboard)/medicines/regimens/__tests__/page.test.tsx (3 tests) 245ms ✓ src/app/(dashboard)/__tests__/layout.test.tsx (1 test) 148ms ✓ src/app/(dashboard)/medicines/cabinet/__tests__/page.test.tsx (3 tests) 256ms ✓ src/app/(dashboard)/medicines/__tests__/RegimensTab.test.tsx (32 tests) 7208ms ✓ dismisses error  703ms ✓ toggles new regimen form  416ms ✓ saves edited regimen  326ms ✓ shows validation error when submitting regimen form with no medications  358ms ✓ cancels edit form and hides it  639ms ✓ adds a medication in the regimen form  338ms ✓ changes medicine, dosage, and unit in medication row  432ms ✓ shows fallback error when non-Error thrown on create regimen  358ms ✓ src/app/(dashboard)/refills/__tests__/page.test.tsx (26 tests) 7168ms ✓ shows New List button and toggles form  753ms ✓ creates a new refill list  327ms ✓ shows refill list and can select it  415ms ✓ updates a refill list status  489ms ✓ adds checked items to cabinet  485ms ✓ cancels create list form  543ms ✓ closes the refill list detail panel  328ms ✓ dismisses panel-level error  420ms ✓ src/lib/__tests__/useApi.test.ts (7 tests) 106ms ✓ src/services/__tests__/api-client.test.ts (14 tests) 51ms ✓ src/services/__tests__/products.test.ts (12 tests) 33ms ✓ src/app/(dashboard)/__tests__/loading.test.tsx (1 test) 83ms ✓ src/app/(dashboard)/medicines/__tests__/CabinetTab.test.tsx (29 tests) 7516ms ✓ shows empty state when no items  415ms ✓ dismisses error on Dismiss click  574ms ✓ toggles Add to Cabinet form  309ms ✓ adjusts item quantity  344ms ✓ expands medicine in summary view  311ms ✓ submits AddToCabinetForm successfully  410ms ✓ submits AddToCabinetForm with expiration date and notes  426ms ✓ changes quantity and unit in AddToCabinetForm  365ms ✓ switches from detail view back to summary view  428ms ✓ src/app/(dashboard)/medicines/[id]/__tests__/page.test.tsx (34 tests) 7648ms ✓ toggles Add Product form  1012ms ✓ toggles edit medicine form  482ms ✓ saves medicine edit  483ms ✓ changes fields in the product edit inline form  365ms ✓ changes manufacturer, concentration and notes fields in product form  405ms ✓ changes all fields in edit medicine form  308ms ✓ dismisses error in detail page  377ms ✓ src/services/__tests__/medicines.test.ts (12 tests) 20ms ✓ src/services/__tests__/cabinet-events.test.ts (7 tests) 17ms ✓ src/services/__tests__/cabinet.test.ts (11 tests) 21ms ✓ src/services/__tests__/stores.test.ts (6 tests) 15ms ✓ src/services/__tests__/pantry.test.ts (13 tests) 26ms ✓ src/services/__tests__/purchases.test.ts (7 tests) 23ms ✓ src/services/__tests__/regimens.test.ts (8 tests) 16ms ✓ src/services/__tests__/refills.test.ts (9 tests) 20ms ✓ src/services/__tests__/recipes.test.ts (11 tests) 22ms ✓ src/services/__tests__/organizer.test.ts (7 tests) 19ms ✓ src/services/__tests__/medicine-prices.test.ts (7 tests) 18ms ✓ src/services/__tests__/households.test.ts (5 tests) 13ms ❯ src/app/(dashboard)/products/__tests__/ProductModal.test.tsx (18 tests | 4 failed) 9210ms ✓ renders nothing when closed 51ms ✓ renders Add Product title by default  597ms ✓ renders custom title when provided 129ms ✓ renders Edit Product title when initial is provided 206ms ✓ pre-fills form fields from initial 211ms ✓ shows error when name is empty and form submitted 293ms ✓ shows error when serving size is empty 277ms ✓ shows error when nutrition fields are missing 252ms  × calls onSave with correct data on valid submit 2329ms  × closes modal after successful save 1589ms  × shows error when onSave rejects 1519ms  × shows fallback error when onSave throws non-Error 1337ms ✓ closes when Cancel is clicked 43ms ✓ closes when backdrop is clicked 42ms ✓ Lookup button is disabled when barcode is empty 41ms ✓ barcode lookup fills form on success 103ms ✓ barcode lookup shows not found 90ms ✓ barcode lookup shows error on failure 95ms  Test Files  2 failed | 48 passed (50)  Tests  5 failed | 571 passed (576)  Start at  19:43:06  Duration  21.16s (transform 21.52s, setup 60.20s, import 45.55s, tests 98.93s, environment 336.64s)