From 91a279136a0ff0ad5a822ae60783fb2489ef93e5 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Wed, 15 Oct 2025 14:28:08 +0530 Subject: [PATCH] fix: isolate race condition test by filtering jobs for specific conversation The test was checking total ConversationReplyEmailWorker.jobs.size which accumulates across the entire test suite in CI, causing false failures. Now filters jobs by conversation_id to only count workers for the specific conversation under test. --- spec/services/messages/send_email_notification_service_spec.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec/services/messages/send_email_notification_service_spec.rb b/spec/services/messages/send_email_notification_service_spec.rb index 28c37cf80..0f092c14d 100644 --- a/spec/services/messages/send_email_notification_service_spec.rb +++ b/spec/services/messages/send_email_notification_service_spec.rb @@ -74,7 +74,8 @@ describe Messages::SendEmailNotificationService do threads.each(&:join) # Only ONE worker should be scheduled despite 5 concurrent attempts - expect(ConversationReplyEmailWorker.jobs.size).to eq(1) + jobs_for_conversation = ConversationReplyEmailWorker.jobs.select { |job| job['args'].first == conversation.id } + expect(jobs_for_conversation.size).to eq(1) end end