diff options
author | Marius Balteanu <marius.balteanu@zitec.com> | 2022-05-17 20:53:12 +0000 |
---|---|---|
committer | Marius Balteanu <marius.balteanu@zitec.com> | 2022-05-17 20:53:12 +0000 |
commit | 75124f407664b0efebfa736564acb47c44068538 (patch) | |
tree | 343ff6257211fea11fb6e0b0a046ddf16bf40fbf | |
parent | e1d6bfbdcc1de030a4ae59e6f5a80f3d003cabe0 (diff) | |
download | redmine-75124f407664b0efebfa736564acb47c44068538.tar.gz redmine-75124f407664b0efebfa736564acb47c44068538.zip |
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
-rw-r--r-- | test/unit/jobs/destroy_project_job_test.rb | 20 | ||||
-rw-r--r-- | test/unit/jobs/destroy_projects_job_test.rb | 21 |
2 files changed, 27 insertions, 14 deletions
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 |