Extract `subject` from `User#mark_email_as_confirmed!` spec (#29231)
parent
1690fb39e6
commit
117b507df5
|
@ -451,35 +451,32 @@ RSpec.describe User do
|
|||
end
|
||||
|
||||
describe '#mark_email_as_confirmed!' do
|
||||
subject(:user) { Fabricate(:user, confirmed_at: confirmed_at) }
|
||||
subject { user.mark_email_as_confirmed! }
|
||||
|
||||
before do
|
||||
ActionMailer::Base.deliveries.clear
|
||||
user.mark_email_as_confirmed!
|
||||
end
|
||||
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' do
|
||||
expect(user.confirmed_at).to be_present
|
||||
end
|
||||
it 'confirms user and delivers welcome email', :sidekiq_inline do
|
||||
subject
|
||||
|
||||
it 'delivers mails', :sidekiq_inline do
|
||||
expect(ActionMailer::Base.deliveries.count).to eq 2
|
||||
expect(user.confirmed_at).to be_present
|
||||
expect(ActionMailer::Base.deliveries.count).to eq 1
|
||||
end
|
||||
end
|
||||
|
||||
context 'when user is not new' do
|
||||
let(:confirmed_at) { Time.zone.now }
|
||||
|
||||
it 'confirms user' do
|
||||
expect(user.confirmed_at).to be_present
|
||||
end
|
||||
it 'confirms user but does not deliver welcome email' do
|
||||
subject
|
||||
|
||||
it 'does not deliver mail' do
|
||||
expect(user.confirmed_at).to be_present
|
||||
expect(ActionMailer::Base.deliveries.count).to eq 0
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue