From: Marius Balteanu Date: Tue, 17 May 2022 20:53:12 +0000 (+0000) Subject: Fix random failing tests (#36691). X-Git-Tag: 5.1.0~594 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=75124f407664b0efebfa736564acb47c44068538;p=redmine.git Fix random failing tests (#36691). Patch by Jens Krämer. git-svn-id: https://svn.redmine.org/redmine/trunk@21593 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/test/unit/jobs/destroy_project_job_test.rb b/test/unit/jobs/destroy_project_job_test.rb index c4e165043..25219db31 100644 --- a/test/unit/jobs/destroy_project_job_test.rb +++ b/test/unit/jobs/destroy_project_job_test.rb @@ -25,6 +25,7 @@ class DestroyProjectJobTest < ActiveJob::TestCase setup do @project = Project.find 1 @user = User.find_by_admin true + ActionMailer::Base.deliveries.clear end test "schedule should mark project and children for deletion" do @@ -52,12 +53,17 @@ class DestroyProjectJobTest < ActiveJob::TestCase assert_difference 'Project.count', -5 do DestroyProjectJob.perform_now @project.id, @user.id, '127.0.0.1' end - assert_enqueued_with( - job: ActionMailer::MailDeliveryJob, - args: ->(job_args){ - job_args[1] == 'security_notification' && - job_args[3].to_s.include?("mail_destroy_project_with_subprojects_successful") - } - ) + if m = ActionMailer::Base.deliveries.last + assert_match /Security notification/, m.subject + assert_match /deleted successfully/, m.text_part.to_s + else + assert_enqueued_with( + job: ActionMailer::MailDeliveryJob, + args: ->(job_args){ + job_args[1] == 'security_notification' && + job_args[3].to_s.include?("mail_destroy_project_with_subprojects_successful") + } + ) + end end end diff --git a/test/unit/jobs/destroy_projects_job_test.rb b/test/unit/jobs/destroy_projects_job_test.rb index 980f983e4..020791c61 100644 --- a/test/unit/jobs/destroy_projects_job_test.rb +++ b/test/unit/jobs/destroy_projects_job_test.rb @@ -25,6 +25,7 @@ class DestroyProjectsJobTest < ActiveJob::TestCase setup do @projects = Project.where(id: [1, 2]).to_a @user = User.find_by_admin true + ActionMailer::Base.deliveries.clear end test "schedule should mark projects and children for deletion" do @@ -52,12 +53,18 @@ class DestroyProjectsJobTest < ActiveJob::TestCase assert_difference 'Project.count', -6 do DestroyProjectsJob.perform_now @projects.map(&:id), @user.id, '127.0.0.1' end - assert_enqueued_with( - job: ActionMailer::MailDeliveryJob, - args: ->(job_args){ - job_args[1] == 'security_notification' && - job_args[3].to_s.include?("mail_destroy_project_with_subprojects_successful") - } - ) + if m = ActionMailer::Base.deliveries.last + assert_match /Security notification/, m.subject + assert_match /deleted successfully/, m.text_part.to_s + else + fail 'foo' + assert_enqueued_with( + job: ActionMailer::MailDeliveryJob, + args: ->(job_args){ + job_args[1] == 'security_notification' && + job_args[3].to_s.include?("mail_destroy_project_with_subprojects_successful") + } + ) + end end end