0
0
Fork 0

Use capture_emails helper to improve email assertions in specs (#29245)

This commit is contained in:
Matt Jankowski 2024-02-19 10:57:47 -05:00 committed by GitHub
parent 86627ea2e4
commit 64f9939e39
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 97 additions and 47 deletions

View file

@ -455,18 +455,20 @@ RSpec.describe User do
let!(:user) { Fabricate(:user, confirmed_at: confirmed_at) }
before { ActionMailer::Base.deliveries.clear }
after { ActionMailer::Base.deliveries.clear }
context 'when user is new' do
let(:confirmed_at) { nil }
it 'confirms user and delivers welcome email', :sidekiq_inline do
subject
emails = capture_emails { subject }
expect(user.confirmed_at).to be_present
expect(ActionMailer::Base.deliveries.count).to eq 1
expect(emails.size)
.to eq(1)
expect(emails.first)
.to have_attributes(
to: contain_exactly(user.email),
subject: eq(I18n.t('user_mailer.welcome.subject'))
)
end
end
@ -474,10 +476,10 @@ RSpec.describe User do
let(:confirmed_at) { Time.zone.now }
it 'confirms user but does not deliver welcome email' do
subject
emails = capture_emails { subject }
expect(user.confirmed_at).to be_present
expect(ActionMailer::Base.deliveries.count).to eq 0
expect(emails).to be_empty
end
end
end