From 0119de78f115fdacca0edafe98512cf80547b869 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Tue, 10 Feb 2026 23:17:51 +0100 Subject: [PATCH 1/4] Intial commit --- app/jobs/credit_insufficient_notification_job.rb | 8 +++----- app/mailers/user_credit_mailer.rb | 5 ++--- spec/jobs/credit_insufficient_notification_job_spec.rb | 8 +------- spec/mailers/previews/user_credit_mailer_preview.rb | 3 +-- 4 files changed, 7 insertions(+), 17 deletions(-) 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..74075cd45 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -7,15 +7,14 @@ 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 + def credit_delivery_report_mail(success_count, unnotifyable_users) @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 def new_credit_mutation_mail(credit_mutation) 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 From d86d6ea98505f78c765e8ec25523e837f1471195 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Tue, 10 Feb 2026 23:38:56 +0100 Subject: [PATCH 2/4] fix for tests --- app/mailers/user_credit_mailer.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index 74075cd45..015de013d 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -8,6 +8,9 @@ def insufficient_credit_mail(user) end def credit_delivery_report_mail(success_count, unnotifyable_users) + @user = OpenStruct.new( + name: 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' From e78cc972793b730079bb6860671126fd628badc3 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Tue, 10 Feb 2026 23:44:55 +0100 Subject: [PATCH 3/4] fix lint --- app/mailers/user_credit_mailer.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index 015de013d..0b5b6afac 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -8,8 +8,8 @@ def insufficient_credit_mail(user) end def credit_delivery_report_mail(success_count, unnotifyable_users) - @user = OpenStruct.new( - name: Rails.application.config.x.treasurer_name || Rails.application.config.x.treasurer_title.capitalize + @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 From c8071adcb515a921a429eb1233fedaf27e9f3936 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Fri, 13 Feb 2026 13:09:44 +0100 Subject: [PATCH 4/4] fix lint --- app/mailers/user_credit_mailer.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index 0b5b6afac..ad6494a91 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -7,6 +7,7 @@ def insufficient_credit_mail(user) mail to: user.email, subject: 'Verzoek met betrekking tot uw Zatladder saldo' end + # 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 @@ -19,6 +20,7 @@ def credit_delivery_report_mail(success_count, unnotifyable_users) 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