summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Balteanu <marius.balteanu@zitec.com>2022-05-17 20:53:12 +0000
committerMarius Balteanu <marius.balteanu@zitec.com>2022-05-17 20:53:12 +0000
commit75124f407664b0efebfa736564acb47c44068538 (patch)
tree343ff6257211fea11fb6e0b0a046ddf16bf40fbf
parente1d6bfbdcc1de030a4ae59e6f5a80f3d003cabe0 (diff)
downloadredmine-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.rb20
-rw-r--r--test/unit/jobs/destroy_projects_job_test.rb21
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