=== Testing Send Now Bug Fix === 1. Checking NotificationRepository::findByScheduleId() query... ✓ findByScheduleId() method exists ✓ Query filters by status = 1 (correct) 2. Checking NotificationRepository::setDueToNow()... ✓ setDueToNow() method exists ✓ Sets due to CURRENT_TIMESTAMP (correct) 3. Checking StudiesController::sendNow() implementation... ✓ sendNow() method exists ✓ Uses getNotificationForSchedule() to find notification ✓ Calls setDueToNow() to update due time 4. Checking database schema... ✓ notifications table has 'due' field ✓ notifications table has 'status' field === Test Summary === The bug is in NotificationRepository::findByScheduleId() It does not filter by status = 1, so it may return old/sent notifications. This causes 'Send Now' to update the wrong notification record. Fix required: Add 'AND n.status = 1' to the WHERE clause in findByScheduleId()