- Fixed NodeJS.Timer → NodeJS.Timeout in scheduler.ts line 13 - Fixed NodeJS.Timer[] → NodeJS.Timeout[] in fixtures.ts line 151 - Resolves TypeScript compile errors from iteration 0 review - All 260 tests passing, build succeeds with no errors
68 KiB
68 KiB
The following Vite config options will be overridden by SvelteKit:
- base
RUN v4.0.14 /home/moze/Sources/insta-recipe
The following Vite config options will be overridden by SvelteKit:
- base
✓ server src/tests/sse-extraction.spec.ts (7 tests) 5ms
✓ server src/tests/scheduler.integration.spec.ts (10 tests) 7ms
✓ server src/tests/thumbnail-validation.spec.ts (31 tests) 11ms
✓ server src/tests/extraction-url-validation.integration.spec.ts (17 tests) 6ms
✓ server src/tests/favicon.spec.ts (5 tests) 8ms
✓ server src/tests/icon-512.test.ts (7 tests) 9ms
✓ server src/tests/favicon-ico.spec.ts (3 tests) 6ms
✓ server src/tests/instagram-url-validation.spec.ts (22 tests) 5ms
✓ server src/tests/logger.spec.ts (13 tests) 11ms
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: true when model is found
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: true when model is found
[LLM] Model available: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: false with message when model not found
[LLM] Checking model availability: missing-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: false with message when model not found
[LLM] Model not found: missing-model
[LLM] Available models: gpt-4o, llama2
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should handle API errors gracefully
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should handle API errors gracefully
[LLM] Model availability check failed API connection failed
Stack: Error: API connection failed
at /home/moze/Sources/insta-recipe/src/lib/server/llm.spec.ts:63:36
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:12)
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Model available: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Checking model availability: TEST-MODEL
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Model not found: TEST-MODEL
[LLM] Available models: test-model, Test-Model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should handle empty model list
[LLM] Checking model availability: any-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should handle empty model list
[LLM] Model not found: any-model
[LLM] Available models:
✓ server src/lib/server/llm.spec.ts (5 tests) 8ms
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on health check failure
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on health check failure
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
stdout | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > should use logError when auth renewal fails
[Scheduler] Scheduler is not running
stderr | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > logError should properly serialize error objects
[Scheduler] Instagram authentication renewal failed Test renewal failure
Stack: Error stack trace here
stderr | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > logError should handle complex error objects
[Scheduler] Instagram authentication renewal failed {
"code": "AUTH_FAILED",
"message": "Session expired",
"details": {
"timestamp": 1771285716731,
"authPath": "/app/secrets/auth.json"
}
}
stderr | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > logged errors should not contain [object Object]
[Scheduler] Test error message Test error
Stack: Error: Test error
at /home/moze/Sources/insta-recipe/src/tests/scheduler-logging.spec.ts:75:17
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:12)
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should use default interval when AUTH_SCHEDULER_INTERVAL_MINUTES is not set
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should use default interval when AUTH_SCHEDULER_INTERVAL_MINUTES is not set
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse custom interval minutes from environment
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse custom interval minutes from environment
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should disable scheduler when AUTH_SCHEDULER_ENABLED is not true
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should disable scheduler when AUTH_SCHEDULER_ENABLED is not true
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse AUTH_SCHEDULER_ENABLED as true when set to "true"
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse AUTH_SCHEDULER_ENABLED as true when set to "true"
[Scheduler] Scheduler is not running
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on model availability check failure
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on model availability check failure
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should not log [object Object] for errors
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should not log [object Object] for errors
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should serialize error details properly
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should serialize error details properly
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
✓ server src/tests/scheduler-logging.spec.ts (4 tests) 43ms
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start when disabled
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start when disabled
[Scheduler] Authentication scheduler is disabled (set AUTH_SCHEDULER_ENABLED=true to enable)
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start when disabled
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should start when enabled
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should start when enabled
[Scheduler] Starting authentication scheduler with 720min interval
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should start when enabled
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Starting authentication scheduler with 720min interval
stderr | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Scheduler is already running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Starting authentication scheduler with 720min interval
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should handle stopping when not running
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should handle stopping when not running
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should handle stopping when not running
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should return scheduler status with default values
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should return scheduler status with default values
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should report running state correctly
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should report running state correctly
[Scheduler] Starting authentication scheduler with 720min interval
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should report running state correctly
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should track configuration
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should track configuration
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should skip renewal if no auth.json exists
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should skip renewal if no auth.json exists
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should prevent concurrent renewal attempts
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should prevent concurrent renewal attempts
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Environment Variables > should handle empty AUTH_SCHEDULER_INTERVAL_MINUTES with default
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Environment Variables > should handle empty AUTH_SCHEDULER_INTERVAL_MINUTES with default
[Scheduler] Scheduler is not running
❯ server src/tests/llm-logging.spec.ts (4 tests | 3 failed) 18ms
× should use logError on health check failure 10ms
× should use logError on model availability check failure 3ms
✓ should not log [object Object] for errors 2ms
× should serialize error details properly 2ms
✓ server src/tests/scheduler.spec.ts (15 tests) 13ms
stderr | src/tests/queue-manager.spec.ts > QueueManager > subscribe > should handle subscriber errors gracefully
[QueueManager] Subscriber error Subscriber error
Stack: Error: Subscriber error
at /home/moze/Sources/insta-recipe/src/tests/queue-manager.spec.ts:325:15
at Mock (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/spy/dist/index.js:280:34)
at QueueManager.notifySubscribers (/home/moze/Sources/insta-recipe/src/lib/server/queue/QueueManager.ts:429:9)
at QueueManager.enqueue (/home/moze/Sources/insta-recipe/src/lib/server/queue/QueueManager.ts:83:10)
at /home/moze/Sources/insta-recipe/src/tests/queue-manager.spec.ts:333:22
at Proxy.assertThrows (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:2798:5)
at Proxy.methodWrapper (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:1700:25)
at Proxy.<anonymous> (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/expect/dist/index.js:1149:12)
at Proxy.overwritingMethodWrapper (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:1750:33)
at Proxy.<anonymous> (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/expect/dist/index.js:1485:16)
✓ server src/tests/queue-manager-logging.spec.ts (4 tests) 8ms
✓ server src/demo.spec.ts (1 test) 2ms
✓ server src/tests/queue-manager.spec.ts (28 tests) 18ms
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should have VAPID public key configured
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] Subscribing client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'success', itemId: 'test-123', body: 'Test notification' }
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] ✓ Sent notification to https://push.example.com/test...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] ✓ Sent notification to client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Subscribing client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'error', itemId: 'test', body: 'Test' }
stderr | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Subscription expired: https://push.example.com/expired...
stderr | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] ✗ Failed to send to client client-1: Error: Subscription expired
at PushNotificationService.sendToSubscription (/home/moze/Sources/insta-recipe/src/lib/server/notifications/PushNotificationService.ts:142:15)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at PushNotificationService.sendNotification (/home/moze/Sources/insta-recipe/src/lib/server/notifications/PushNotificationService.ts:106:9)
at /home/moze/Sources/insta-recipe/src/tests/push-notification-service.spec.ts:76:5
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] Subscribing client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'progress', itemId: 'test-456', body: 'Progress update' }
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] ✓ Sent notification to https://push.example.com/test-ttl...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] ✓ Sent notification to client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] Subscribing client client-3
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: {
type: 'success',
itemId: 'test-789',
body: 'JSON test',
recipeName: 'Test Recipe'
}
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] ✓ Sent notification to https://push.example.com/test-json...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] ✓ Sent notification to client client-3
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Subscribing client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Subscribing client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Sending notification to 2 subscribers
[PushService] Notification payload: {
type: 'success',
itemId: 'test-multi',
body: 'Multi-subscriber test'
}
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to https://push.example.com/client1...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to https://push.example.com/client2...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] Subscribing client client-privacy
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'success', itemId: 'test-privacy', body: 'Privacy test' }
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] ✓ Sent notification to https://push.example.com/very-long-endpoint-with-s...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] ✓ Sent notification to client client-privacy
✓ server src/tests/push-notification-service.spec.ts (7 tests) 15ms
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should send test success notification
[NotificationTestAPI] Sent test success notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should send test error notification
[NotificationTestAPI] Sent test error notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should send test progress notification
[NotificationTestAPI] Sent test progress notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should return subscriber count in response
[NotificationTestAPI] Sent test success notification
stderr | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should handle sendNotification errors
[NotificationTestAPI] Error sending test notification: Push service error
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should generate unique itemId for each request
[NotificationTestAPI] Sent test success notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should generate unique itemId for each request
[NotificationTestAPI] Sent test success notification
✓ server src/tests/notification-test-api.spec.ts (8 tests) 35ms
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > detectRecipe should use logError on failure
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 9
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > detectRecipe should use logError on failure
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > parseRecipe should use logError on failure
[LLM] Starting recipe parsing...
[LLM] Model: test-model
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > parseRecipe should use logError on failure
[LLM] Recipe parsing error LLM parse error
Stack: Error: LLM parse error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > should not log stack trace separately
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 4
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > should not log stack trace separately
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 9
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Starting recipe parsing...
[LLM] Model: test-model
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Recipe parsing error LLM parse error
Stack: Error: LLM parse error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > logError should serialize error properly
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 4
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > logError should serialize error properly
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should return SSE response with correct headers
[SSE] Stream started
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 9
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Starting recipe parsing...
[LLM] Model: test-model
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Recipe parsing error LLM parse error
Stack: Error: LLM parse error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should accept valid status filter
[SSE] Stream started
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should accept valid item ID filter
[SSE] Stream started
✓ server src/tests/parser-logging.spec.ts (6 tests) 17ms
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should handle stream initialization without errors
[SSE] Stream started
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should handle stream initialization without errors
[SSE] Client disconnected (abort signal)
[SSE] Cleaning up stream connection
✓ server src/tests/queue-sse.spec.ts (6 tests) 29ms
✓ server src/tests/error-handler-logging.spec.ts (7 tests) 29ms
stdout | src/tests/queue-processor.spec.ts
[QueueProcessor] Started with concurrency 2
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] New item enqueued: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce, triggering processing
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Starting item 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce (1/2 active)
[QueueProcessor] Processing https://instagram.com/p/test-tandoor
[QueueProcessor] Extracting: https://instagram.com/p/test-tandoor
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Extraction complete: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Parsing recipe: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Parsing complete: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce - Test Recipe
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Uploading to Tandoor: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Recipe uploaded: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce → Tandoor #123
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Success: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
[PushService] No subscriptions, skipping notification
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Finished item 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce (0/2 active)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject HTTP (non-HTTPS) URLs
[API Error] Instagram URL must use HTTPS protocol
Stack: ValidationError: Instagram URL must use HTTPS protocol
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:127:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject invalid Instagram URL formats
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject invalid Instagram URL formats
[API Error] Invalid URL format
Stack: ValidationError: Invalid URL format
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject invalid Instagram URL formats
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject missing URL
[API Error] URL is required and must be a string
Stack: ValidationError: URL is required and must be a string
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:44:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:208:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-JSON body
[API Error] Invalid JSON in request body
Stack: ValidationError: Invalid JSON in request body
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:32:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:228:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Invalid status filter. Must be one of: pending, in_progress, success, unhealthy, error
Stack: ValidationError: Invalid status filter. Must be one of: pending, in_progress, success, unhealthy, error
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:114:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:321:30
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Limit must be a positive integer
Stack: ValidationError: Limit must be a positive integer
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:93:15)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:334:30
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Offset must be a non-negative integer
Stack: ValidationError: Offset must be a non-negative integer
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:106:15)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:347:30
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Limit cannot exceed 200
Stack: ValidationError: Limit cannot exceed 200
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:96:15)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:360:30
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue/[id] > should return 404 for non-existent ID
[API Error] Queue item not found
Stack: NotFoundError: Queue item not found
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:40:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:390:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:33:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:404:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue/[id]/retry > should reject retry for non-retryable statuses
[API Error] Cannot retry item with status 'pending'. Only 'error' and 'unhealthy' items can be retried.
Stack: ConflictError: Cannot retry item with status 'pending'. Only 'error' and 'unhealthy' items can be retried.
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/retry/+server.ts:46:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:482:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue/[id]/retry > should return 404 for non-existent item
[API Error] Queue item not found
Stack: NotFoundError: Queue item not found
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/retry/+server.ts:41:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:502:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should return 404 for non-existent item
[API Error] Queue item not found
Stack: NotFoundError: Queue item not found
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:76:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:549:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should return 409 for in-progress items
[API Error] Cannot delete item that is currently being processed
Stack: ConflictError: Cannot delete item that is currently being processed
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:81:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:572:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
✓ server src/tests/queue-api.spec.ts (26 tests) 57ms
❯ server src/tests/queue-processor-logging.spec.ts (4 tests | 4 failed) 6ms
× should use logError for processing errors 4ms
× should use logError for push notification failures 1ms
× error logs should be properly serialized (no [object Object]) 0ms
× should distinguish between recoverable and non-recoverable errors 0ms
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] New item enqueued: a36691d9-5b93-44cd-bd1a-dbccce51beb0, triggering processing
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Starting item a36691d9-5b93-44cd-bd1a-dbccce51beb0 (1/2 active)
[QueueProcessor] Processing https://instagram.com/p/no-tandoor
[QueueProcessor] Extracting: https://instagram.com/p/no-tandoor
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] ✓ Extraction complete: a36691d9-5b93-44cd-bd1a-dbccce51beb0
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Parsing recipe: a36691d9-5b93-44cd-bd1a-dbccce51beb0
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] ✓ Parsing complete: a36691d9-5b93-44cd-bd1a-dbccce51beb0 - No Tandoor Recipe
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Tandoor not configured, skipping: a36691d9-5b93-44cd-bd1a-dbccce51beb0
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] ✓ Success: a36691d9-5b93-44cd-bd1a-dbccce51beb0
[PushService] No subscriptions, skipping notification
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Finished item a36691d9-5b93-44cd-bd1a-dbccce51beb0 (0/2 active)
✓ client (chromium) src/routes/page.svelte.spec.ts (1 test) 19ms
- base
RUN v4.0.14 /home/moze/Sources/insta-recipe
The following Vite config options will be overridden by SvelteKit:
- base
✓ server src/tests/sse-extraction.spec.ts (7 tests) 5ms
✓ server src/tests/scheduler.integration.spec.ts (10 tests) 7ms
✓ server src/tests/thumbnail-validation.spec.ts (31 tests) 11ms
✓ server src/tests/extraction-url-validation.integration.spec.ts (17 tests) 6ms
✓ server src/tests/favicon.spec.ts (5 tests) 8ms
✓ server src/tests/icon-512.test.ts (7 tests) 9ms
✓ server src/tests/favicon-ico.spec.ts (3 tests) 6ms
✓ server src/tests/instagram-url-validation.spec.ts (22 tests) 5ms
✓ server src/tests/logger.spec.ts (13 tests) 11ms
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: true when model is found
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: true when model is found
[LLM] Model available: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: false with message when model not found
[LLM] Checking model availability: missing-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: false with message when model not found
[LLM] Model not found: missing-model
[LLM] Available models: gpt-4o, llama2
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should handle API errors gracefully
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should handle API errors gracefully
[LLM] Model availability check failed API connection failed
Stack: Error: API connection failed
at /home/moze/Sources/insta-recipe/src/lib/server/llm.spec.ts:63:36
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:12)
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Model available: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Checking model availability: TEST-MODEL
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Model not found: TEST-MODEL
[LLM] Available models: test-model, Test-Model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should handle empty model list
[LLM] Checking model availability: any-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should handle empty model list
[LLM] Model not found: any-model
[LLM] Available models:
✓ server src/lib/server/llm.spec.ts (5 tests) 8ms
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on health check failure
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on health check failure
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
stdout | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > should use logError when auth renewal fails
[Scheduler] Scheduler is not running
stderr | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > logError should properly serialize error objects
[Scheduler] Instagram authentication renewal failed Test renewal failure
Stack: Error stack trace here
stderr | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > logError should handle complex error objects
[Scheduler] Instagram authentication renewal failed {
"code": "AUTH_FAILED",
"message": "Session expired",
"details": {
"timestamp": 1771285716731,
"authPath": "/app/secrets/auth.json"
}
}
stderr | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > logged errors should not contain [object Object]
[Scheduler] Test error message Test error
Stack: Error: Test error
at /home/moze/Sources/insta-recipe/src/tests/scheduler-logging.spec.ts:75:17
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:12)
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should use default interval when AUTH_SCHEDULER_INTERVAL_MINUTES is not set
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should use default interval when AUTH_SCHEDULER_INTERVAL_MINUTES is not set
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse custom interval minutes from environment
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse custom interval minutes from environment
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should disable scheduler when AUTH_SCHEDULER_ENABLED is not true
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should disable scheduler when AUTH_SCHEDULER_ENABLED is not true
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse AUTH_SCHEDULER_ENABLED as true when set to "true"
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse AUTH_SCHEDULER_ENABLED as true when set to "true"
[Scheduler] Scheduler is not running
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on model availability check failure
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on model availability check failure
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should not log [object Object] for errors
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should not log [object Object] for errors
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should serialize error details properly
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should serialize error details properly
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
✓ server src/tests/scheduler-logging.spec.ts (4 tests) 43ms
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start when disabled
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start when disabled
[Scheduler] Authentication scheduler is disabled (set AUTH_SCHEDULER_ENABLED=true to enable)
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start when disabled
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should start when enabled
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should start when enabled
[Scheduler] Starting authentication scheduler with 720min interval
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should start when enabled
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Starting authentication scheduler with 720min interval
stderr | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Scheduler is already running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Starting authentication scheduler with 720min interval
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should handle stopping when not running
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should handle stopping when not running
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should handle stopping when not running
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should return scheduler status with default values
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should return scheduler status with default values
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should report running state correctly
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should report running state correctly
[Scheduler] Starting authentication scheduler with 720min interval
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should report running state correctly
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should track configuration
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should track configuration
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should skip renewal if no auth.json exists
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should skip renewal if no auth.json exists
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should prevent concurrent renewal attempts
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should prevent concurrent renewal attempts
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Environment Variables > should handle empty AUTH_SCHEDULER_INTERVAL_MINUTES with default
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Environment Variables > should handle empty AUTH_SCHEDULER_INTERVAL_MINUTES with default
[Scheduler] Scheduler is not running
❯ server src/tests/llm-logging.spec.ts (4 tests | 3 failed) 18ms
× should use logError on health check failure 10ms
× should use logError on model availability check failure 3ms
✓ should not log [object Object] for errors 2ms
× should serialize error details properly 2ms
✓ server src/tests/scheduler.spec.ts (15 tests) 13ms
stderr | src/tests/queue-manager.spec.ts > QueueManager > subscribe > should handle subscriber errors gracefully
[QueueManager] Subscriber error Subscriber error
Stack: Error: Subscriber error
at /home/moze/Sources/insta-recipe/src/tests/queue-manager.spec.ts:325:15
at Mock (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/spy/dist/index.js:280:34)
at QueueManager.notifySubscribers (/home/moze/Sources/insta-recipe/src/lib/server/queue/QueueManager.ts:429:9)
at QueueManager.enqueue (/home/moze/Sources/insta-recipe/src/lib/server/queue/QueueManager.ts:83:10)
at /home/moze/Sources/insta-recipe/src/tests/queue-manager.spec.ts:333:22
at Proxy.assertThrows (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:2798:5)
at Proxy.methodWrapper (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:1700:25)
at Proxy.<anonymous> (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/expect/dist/index.js:1149:12)
at Proxy.overwritingMethodWrapper (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:1750:33)
at Proxy.<anonymous> (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/expect/dist/index.js:1485:16)
✓ server src/tests/queue-manager-logging.spec.ts (4 tests) 8ms
✓ server src/demo.spec.ts (1 test) 2ms
✓ server src/tests/queue-manager.spec.ts (28 tests) 18ms
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should have VAPID public key configured
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] Subscribing client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'success', itemId: 'test-123', body: 'Test notification' }
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] ✓ Sent notification to https://push.example.com/test...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] ✓ Sent notification to client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Subscribing client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'error', itemId: 'test', body: 'Test' }
stderr | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Subscription expired: https://push.example.com/expired...
stderr | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] ✗ Failed to send to client client-1: Error: Subscription expired
at PushNotificationService.sendToSubscription (/home/moze/Sources/insta-recipe/src/lib/server/notifications/PushNotificationService.ts:142:15)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at PushNotificationService.sendNotification (/home/moze/Sources/insta-recipe/src/lib/server/notifications/PushNotificationService.ts:106:9)
at /home/moze/Sources/insta-recipe/src/tests/push-notification-service.spec.ts:76:5
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] Subscribing client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'progress', itemId: 'test-456', body: 'Progress update' }
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] ✓ Sent notification to https://push.example.com/test-ttl...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] ✓ Sent notification to client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] Subscribing client client-3
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: {
type: 'success',
itemId: 'test-789',
body: 'JSON test',
recipeName: 'Test Recipe'
}
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] ✓ Sent notification to https://push.example.com/test-json...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] ✓ Sent notification to client client-3
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Subscribing client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Subscribing client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Sending notification to 2 subscribers
[PushService] Notification payload: {
type: 'success',
itemId: 'test-multi',
body: 'Multi-subscriber test'
}
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to https://push.example.com/client1...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to https://push.example.com/client2...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] Subscribing client client-privacy
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'success', itemId: 'test-privacy', body: 'Privacy test' }
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] ✓ Sent notification to https://push.example.com/very-long-endpoint-with-s...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] ✓ Sent notification to client client-privacy
✓ server src/tests/push-notification-service.spec.ts (7 tests) 15ms
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should send test success notification
[NotificationTestAPI] Sent test success notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should send test error notification
[NotificationTestAPI] Sent test error notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should send test progress notification
[NotificationTestAPI] Sent test progress notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should return subscriber count in response
[NotificationTestAPI] Sent test success notification
stderr | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should handle sendNotification errors
[NotificationTestAPI] Error sending test notification: Push service error
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should generate unique itemId for each request
[NotificationTestAPI] Sent test success notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should generate unique itemId for each request
[NotificationTestAPI] Sent test success notification
✓ server src/tests/notification-test-api.spec.ts (8 tests) 35ms
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > detectRecipe should use logError on failure
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 9
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > detectRecipe should use logError on failure
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > parseRecipe should use logError on failure
[LLM] Starting recipe parsing...
[LLM] Model: test-model
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > parseRecipe should use logError on failure
[LLM] Recipe parsing error LLM parse error
Stack: Error: LLM parse error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > should not log stack trace separately
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 4
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > should not log stack trace separately
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 9
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Starting recipe parsing...
[LLM] Model: test-model
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Recipe parsing error LLM parse error
Stack: Error: LLM parse error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > logError should serialize error properly
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 4
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > logError should serialize error properly
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should return SSE response with correct headers
[SSE] Stream started
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 9
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Starting recipe parsing...
[LLM] Model: test-model
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Recipe parsing error LLM parse error
Stack: Error: LLM parse error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should accept valid status filter
[SSE] Stream started
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should accept valid item ID filter
[SSE] Stream started
✓ server src/tests/parser-logging.spec.ts (6 tests) 17ms
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should handle stream initialization without errors
[SSE] Stream started
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should handle stream initialization without errors
[SSE] Client disconnected (abort signal)
[SSE] Cleaning up stream connection
✓ server src/tests/queue-sse.spec.ts (6 tests) 29ms
✓ server src/tests/error-handler-logging.spec.ts (7 tests) 29ms
stdout | src/tests/queue-processor.spec.ts
[QueueProcessor] Started with concurrency 2
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] New item enqueued: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce, triggering processing
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Starting item 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce (1/2 active)
[QueueProcessor] Processing https://instagram.com/p/test-tandoor
[QueueProcessor] Extracting: https://instagram.com/p/test-tandoor
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Extraction complete: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Parsing recipe: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Parsing complete: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce - Test Recipe
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Uploading to Tandoor: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Recipe uploaded: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce → Tandoor #123
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Success: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
[PushService] No subscriptions, skipping notification
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Finished item 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce (0/2 active)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject HTTP (non-HTTPS) URLs
[API Error] Instagram URL must use HTTPS protocol
Stack: ValidationError: Instagram URL must use HTTPS protocol
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:127:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject invalid Instagram URL formats
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject invalid Instagram URL formats
[API Error] Invalid URL format
Stack: ValidationError: Invalid URL format
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject invalid Instagram URL formats
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject missing URL
[API Error] URL is required and must be a string
Stack: ValidationError: URL is required and must be a string
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:44:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:208:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-JSON body
[API Error] Invalid JSON in request body
Stack: ValidationError: Invalid JSON in request body
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:32:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:228:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Invalid status filter. Must be one of: pending, in_progress, success, unhealthy, error
Stack: ValidationError: Invalid status filter. Must be one of: pending, in_progress, success, unhealthy, error
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:114:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:321:30
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Limit must be a positive integer
Stack: ValidationError: Limit must be a positive integer
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:93:15)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:334:30
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Offset must be a non-negative integer
Stack: ValidationError: Offset must be a non-negative integer
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:106:15)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:347:30
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Limit cannot exceed 200
Stack: ValidationError: Limit cannot exceed 200
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:96:15)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:360:30
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue/[id] > should return 404 for non-existent ID
[API Error] Queue item not found
Stack: NotFoundError: Queue item not found
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:40:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:390:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:33:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:404:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue/[id]/retry > should reject retry for non-retryable statuses
[API Error] Cannot retry item with status 'pending'. Only 'error' and 'unhealthy' items can be retried.
Stack: ConflictError: Cannot retry item with status 'pending'. Only 'error' and 'unhealthy' items can be retried.
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/retry/+server.ts:46:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:482:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue/[id]/retry > should return 404 for non-existent item
[API Error] Queue item not found
Stack: NotFoundError: Queue item not found
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/retry/+server.ts:41:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:502:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should return 404 for non-existent item
[API Error] Queue item not found
Stack: NotFoundError: Queue item not found
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:76:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:549:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should return 409 for in-progress items
[API Error] Cannot delete item that is currently being processed
Stack: ConflictError: Cannot delete item that is currently being processed
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:81:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:572:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
✓ server src/tests/queue-api.spec.ts (26 tests) 57ms
❯ server src/tests/queue-processor-logging.spec.ts (4 tests | 4 failed) 6ms
× should use logError for processing errors 4ms
× should use logError for push notification failures 1ms
× error logs should be properly serialized (no [object Object]) 0ms
× should distinguish between recoverable and non-recoverable errors 0ms
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] New item enqueued: a36691d9-5b93-44cd-bd1a-dbccce51beb0, triggering processing
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Starting item a36691d9-5b93-44cd-bd1a-dbccce51beb0 (1/2 active)
[QueueProcessor] Processing https://instagram.com/p/no-tandoor
[QueueProcessor] Extracting: https://instagram.com/p/no-tandoor
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] ✓ Extraction complete: a36691d9-5b93-44cd-bd1a-dbccce51beb0
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Parsing recipe: a36691d9-5b93-44cd-bd1a-dbccce51beb0
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] ✓ Parsing complete: a36691d9-5b93-44cd-bd1a-dbccce51beb0 - No Tandoor Recipe
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Tandoor not configured, skipping: a36691d9-5b93-44cd-bd1a-dbccce51beb0
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] ✓ Success: a36691d9-5b93-44cd-bd1a-dbccce51beb0
[PushService] No subscriptions, skipping notification
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Finished item a36691d9-5b93-44cd-bd1a-dbccce51beb0 (0/2 active)
✓ client (chromium) src/routes/page.svelte.spec.ts (1 test) 19ms