diff --git a/spec/controllers/user_confirmations_controller_spec.rb b/spec/controllers/user_confirmations_controller_spec.rb index 82ec5c2cc3..dacbfcb138 100644 --- a/spec/controllers/user_confirmations_controller_spec.rb +++ b/spec/controllers/user_confirmations_controller_spec.rb @@ -70,7 +70,9 @@ describe UserConfirmationsController, type: :controller do performing_deliveries do expect do spree_post :create, spree_user: { email: unconfirmed_user.email } - end.to send_confirmation_instructions + end.to enqueue_job ActionMailer::DeliveryJob + + expect(enqueued_jobs.last.to_s).to match "confirmation_instructions" end end end diff --git a/spec/features/admin/users_spec.rb b/spec/features/admin/users_spec.rb index 94cb4b881f..10efd1e4d2 100644 --- a/spec/features/admin/users_spec.rb +++ b/spec/features/admin/users_spec.rb @@ -124,7 +124,7 @@ feature "Managing users" do # The `a` element doesn't have an href, so we can't use click_link. find("a", text: "Resend").click expect(page).to have_text "Resend done" - end.to send_confirmation_instructions + end.to enqueue_job ActionMailer::DeliveryJob end end end diff --git a/spec/features/consumer/account/settings_spec.rb b/spec/features/consumer/account/settings_spec.rb index 77012ee3d8..e69f74c8a6 100644 --- a/spec/features/consumer/account/settings_spec.rb +++ b/spec/features/consumer/account/settings_spec.rb @@ -21,23 +21,22 @@ feature "Account Settings", js: true do end it "allows the user to update their email address" do - performing_deliveries do - fill_in 'user_email', with: 'new@email.com' + fill_in 'user_email', with: 'new@email.com' + performing_deliveries do expect do click_button I18n.t(:update) - end.to send_confirmation_instructions - - sent_mail = ActionMailer::Base.deliveries.last - expect(sent_mail.to).to eq ['new@email.com'] - - expect(find(".alert-box.success").text.strip).to eq "#{I18n.t('spree.account_updated')} ×" - user.reload - expect(user.email).to eq 'old@email.com' - expect(user.unconfirmed_email).to eq 'new@email.com' - click_link I18n.t('spree.users.show.tabs.settings') - expect(page).to have_content I18n.t('spree.users.show.unconfirmed_email', unconfirmed_email: 'new@email.com') + end.to enqueue_job ActionMailer::DeliveryJob end + + expect(enqueued_jobs.last.to_s).to match "new@email.com" + + expect(find(".alert-box.success").text.strip).to eq "#{I18n.t('spree.account_updated')} ×" + user.reload + expect(user.email).to eq 'old@email.com' + expect(user.unconfirmed_email).to eq 'new@email.com' + click_link I18n.t('spree.users.show.tabs.settings') + expect(page).to have_content I18n.t('spree.users.show.unconfirmed_email', unconfirmed_email: 'new@email.com') end it "allows the user to change their password" do diff --git a/spec/models/spree/user_spec.rb b/spec/models/spree/user_spec.rb index abd34364c3..26930a4925 100644 --- a/spec/models/spree/user_spec.rb +++ b/spec/models/spree/user_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe Spree.user_class do +describe Spree::User do include OpenFoodNetwork::EmailHelper describe "associations" do @@ -81,11 +81,10 @@ describe Spree.user_class do performing_deliveries do expect do create(:user, email: 'new_user@example.com', confirmation_sent_at: nil, confirmed_at: nil) - end.to send_confirmation_instructions + end.to enqueue_job ActionMailer::DeliveryJob end - sent_mail = ActionMailer::Base.deliveries.last - expect(sent_mail.to).to eq ['new_user@example.com'] + expect(enqueued_jobs.last.to_s).to match "confirmation_instructions" end context "with the the same email as existing customers" do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index dfbc595eb9..4c78b8542c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -194,6 +194,7 @@ RSpec.configure do |config| config.include OpenFoodNetwork::DelayedJobHelper config.include OpenFoodNetwork::PerformanceHelper config.include DownloadsHelper, type: :feature + config.include ActiveJob::TestHelper # FactoryBot require 'factory_bot_rails'