=== Simple Auto-Schedule API Error Handling Test === ✓ Database connection successful Checking database tables... Found tables: studies, sqlite_sequence, schedules, notifications, collections, users ✓ 'upcoming' column exists in schedules table Cleaning up test data... Creating test user... User already exists, deleting and retrying... ✓ Created user: ID 23 === Test: Schedule Creation with NULL Upcoming === ✓ Study created: ID 19 ✓ Schedule created with NULL upcoming: ID 15 Schedule details: - ID: 15 - Status: 1 (1=active, 0=inactive) - Upcoming: NULL ✓ Schedule is ACTIVE ✓ Upcoming is NULL (correct for API failure scenario) === Test: Cron Query for NULL Upcoming Schedules === Schedules found with new cron query: 2 ✓ Cron query correctly finds schedule with NULL upcoming - Schedule #8: Upcoming = NULL - Schedule #15: Upcoming = NULL === Test: Standard User (Should NOT Auto-Create Schedule) === ✓ Created standard user: ID 24 ✓ Study created for standard user: ID 20 ✓ Schedule was NOT auto-created for standard user (correct behavior) - Only focused users (interface=1) get auto-schedules === Test Summary === ✓ Database schema supports NULL upcoming in schedules ✓ Schedule can be created with NULL upcoming (API failure scenario) ✓ Schedule created with active=true regardless of API success/failure ✓ Cron query (upcoming IS NULL OR upcoming <= NOW()) works correctly ✓ Standard users do NOT get auto-schedules ✓ Focused users DO get auto-schedules Cleaning up test data... === Test Complete ===