diff --git a/app/jobs/credit_insufficient_notification_job.rb b/app/jobs/credit_insufficient_notification_job.rb index e8c1753d8..b3fb4eaef 100644 --- a/app/jobs/credit_insufficient_notification_job.rb +++ b/app/jobs/credit_insufficient_notification_job.rb @@ -24,11 +24,9 @@ def users_with_insufficient_credit end def send_notification_delivery_reports(success_count, unnotifyable_users) - User.treasurer.each do |treasurer| - UserCreditMailer.credit_delivery_report_mail( - treasurer, success_count, unnotifyable_users - ).deliver_later - end + UserCreditMailer.credit_delivery_report_mail( + success_count, unnotifyable_users + ).deliver_later return if Rails.env.local? diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index c8ddffe66..ad6494a91 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -7,16 +7,20 @@ def insufficient_credit_mail(user) mail to: user.email, subject: 'Verzoek met betrekking tot uw Zatladder saldo' end - def credit_delivery_report_mail(treasurer, success_count, unnotifyable_users) - @user = treasurer + # rubocop:disable Metrics/AbcSize + def credit_delivery_report_mail(success_count, unnotifyable_users) + @user = Struct.new(:name).new( + Rails.application.config.x.treasurer_name || Rails.application.config.x.treasurer_title.capitalize + ) @unnotifyable_users = unnotifyable_users @success_count = success_count @title = 'Notificatie over de saldomail' subject = "Er is #{@success_count.positive? ? 'een' : 'geen'} saldomail verstuurd" - mail to: treasurer.email, subject: + mail to: Rails.application.config.x.treasurer_email, subject: end + # rubocop:enable Metrics/AbcSize def new_credit_mutation_mail(credit_mutation) @user = credit_mutation.user diff --git a/spec/jobs/credit_insufficient_notification_job_spec.rb b/spec/jobs/credit_insufficient_notification_job_spec.rb index 52789f88b..c8a3ab604 100644 --- a/spec/jobs/credit_insufficient_notification_job_spec.rb +++ b/spec/jobs/credit_insufficient_notification_job_spec.rb @@ -10,11 +10,6 @@ let(:user_without_email) do create(:user, name: 'Good Emailless', email: nil, provider: 'some_external_source') end - let(:treasurer) do - create(:user, - name: 'Sis Treasures', email: 'treasurer@csvalpha.nl', - roles: [create(:role, role_type: :treasurer)]) - end let(:emails) { ActionMailer::Base.deliveries } subject(:job) { perform_enqueued_jobs { described_class.perform_now } } @@ -25,14 +20,13 @@ create(:credit_mutation, user: negative_user, amount: -2) create(:credit_mutation, user: negative_user_without_email, amount: -2) user_without_email - treasurer job end it { expect(emails.size).to eq 2 } it { expect(emails.first.to.first).to eq negative_user.email } it { expect(emails.first.body.to_s).to include 'http://testhost:1337/payments/add' } - it { expect(emails.second.to.first).to eq treasurer.email } + it { expect(emails.second.to.first).to eq Rails.application.config.x.treasurer_email } it { expect(emails.second.body.to_s).to include negative_user_without_email.name } it { expect(emails.second.body.to_s).not_to include user_without_email.name } end diff --git a/spec/mailers/previews/user_credit_mailer_preview.rb b/spec/mailers/previews/user_credit_mailer_preview.rb index 994c74e36..e91ff2f6b 100644 --- a/spec/mailers/previews/user_credit_mailer_preview.rb +++ b/spec/mailers/previews/user_credit_mailer_preview.rb @@ -6,11 +6,10 @@ def insufficient_credit_mail end def credit_delivery_report_mail - treasurer = FactoryBot.create(:user, :treasurer) unnotifyable_users = FactoryBot.create_list(:user, 2).map(&:name) success_count = 2 - UserCreditMailer.credit_delivery_report_mail(treasurer, success_count, unnotifyable_users) + UserCreditMailer.credit_delivery_report_mail(success_count, unnotifyable_users) end def new_credit_mutation_mail