diff options
Diffstat (limited to 'spec/controllers/profiles/emails_controller_spec.rb')
-rw-r--r-- | spec/controllers/profiles/emails_controller_spec.rb | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/spec/controllers/profiles/emails_controller_spec.rb b/spec/controllers/profiles/emails_controller_spec.rb index 7c6b1863202..ffec43fea2c 100644 --- a/spec/controllers/profiles/emails_controller_spec.rb +++ b/spec/controllers/profiles/emails_controller_spec.rb @@ -9,13 +9,27 @@ describe Profiles::EmailsController do sign_in(user) end + around do |example| + perform_enqueued_jobs do + example.run + end + end + describe '#create' do - let(:email_params) { { email: "add_email@example.com" } } + context 'when email address is valid' do + let(:email_params) { { email: "add_email@example.com" } } - it 'sends an email confirmation' do - expect { post(:create, params: { email: email_params }) }.to change { ActionMailer::Base.deliveries.size } - expect(ActionMailer::Base.deliveries.last.to).to eq [email_params[:email]] - expect(ActionMailer::Base.deliveries.last.subject).to match "Confirmation instructions" + it 'sends an email confirmation' do + expect { post(:create, params: { email: email_params }) }.to change { ActionMailer::Base.deliveries.size } + end + end + + context 'when email address is invalid' do + let(:email_params) { { email: "test.@example.com" } } + + it 'does not send an email confirmation' do + expect { post(:create, params: { email: email_params }) }.not_to change { ActionMailer::Base.deliveries.size } + end end end |