Skip to content

Commit 68ff0a4

Browse files
authored
Feature: more specific mailing (#1231)
* Intial commit * fix for tests * fix lint * fix lint * make the code cleaner * remove unnessary lint exception * revert my smart idea * fix lint
1 parent b6a0b0e commit 68ff0a4

File tree

4 files changed

+10
-17
lines changed

4 files changed

+10
-17
lines changed

app/jobs/credit_insufficient_notification_job.rb

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,9 @@ def users_with_insufficient_credit
2424
end
2525

2626
def send_notification_delivery_reports(success_count, unnotifyable_users)
27-
User.treasurer.each do |treasurer|
28-
UserCreditMailer.credit_delivery_report_mail(
29-
treasurer, success_count, unnotifyable_users
30-
).deliver_later
31-
end
27+
UserCreditMailer.credit_delivery_report_mail(
28+
success_count, unnotifyable_users
29+
).deliver_later
3230

3331
return if Rails.env.local?
3432

app/mailers/user_credit_mailer.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,17 @@ def insufficient_credit_mail(user)
77
mail to: user.email, subject: 'Verzoek met betrekking tot uw Zatladder saldo'
88
end
99

10-
def credit_delivery_report_mail(treasurer, success_count, unnotifyable_users)
11-
@user = treasurer
10+
def credit_delivery_report_mail(success_count, unnotifyable_users)
11+
@user = Struct.new(:name).new(
12+
Rails.application.config.x.treasurer_name
13+
)
1214
@unnotifyable_users = unnotifyable_users
1315
@success_count = success_count
1416
@title = 'Notificatie over de saldomail'
1517

1618
subject = "Er is #{@success_count.positive? ? 'een' : 'geen'} saldomail verstuurd"
1719

18-
mail to: treasurer.email, subject:
20+
mail to: Rails.application.config.x.treasurer_email, subject:
1921
end
2022

2123
def new_credit_mutation_mail(credit_mutation)

spec/jobs/credit_insufficient_notification_job_spec.rb

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,6 @@
1010
let(:user_without_email) do
1111
create(:user, name: 'Good Emailless', email: nil, provider: 'some_external_source')
1212
end
13-
let(:treasurer) do
14-
create(:user,
15-
name: 'Sis Treasures', email: 'treasurer@csvalpha.nl',
16-
roles: [create(:role, role_type: :treasurer)])
17-
end
1813
let(:emails) { ActionMailer::Base.deliveries }
1914

2015
subject(:job) { perform_enqueued_jobs { described_class.perform_now } }
@@ -25,14 +20,13 @@
2520
create(:credit_mutation, user: negative_user, amount: -2)
2621
create(:credit_mutation, user: negative_user_without_email, amount: -2)
2722
user_without_email
28-
treasurer
2923
job
3024
end
3125

3226
it { expect(emails.size).to eq 2 }
3327
it { expect(emails.first.to.first).to eq negative_user.email }
3428
it { expect(emails.first.body.to_s).to include 'http://testhost:1337/payments/add' }
35-
it { expect(emails.second.to.first).to eq treasurer.email }
29+
it { expect(emails.second.to.first).to eq Rails.application.config.x.treasurer_email }
3630
it { expect(emails.second.body.to_s).to include negative_user_without_email.name }
3731
it { expect(emails.second.body.to_s).not_to include user_without_email.name }
3832
end

spec/mailers/previews/user_credit_mailer_preview.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@ def insufficient_credit_mail
66
end
77

88
def credit_delivery_report_mail
9-
treasurer = FactoryBot.create(:user, :treasurer)
109
unnotifyable_users = FactoryBot.create_list(:user, 2).map(&:name)
1110
success_count = 2
1211

13-
UserCreditMailer.credit_delivery_report_mail(treasurer, success_count, unnotifyable_users)
12+
UserCreditMailer.credit_delivery_report_mail(success_count, unnotifyable_users)
1413
end
1514

1615
def new_credit_mutation_mail

0 commit comments

Comments
 (0)