diff --git a/app/views/admin/account/show.html.haml b/app/views/admin/account/show.html.haml
index 07c540ba1f..e46fb9623f 100644
--- a/app/views/admin/account/show.html.haml
+++ b/app/views/admin/account/show.html.haml
@@ -45,26 +45,3 @@
%td.text-center
%td= t(:total).upcase
%td.text-right= invoice_total_for(invoice)
-
-
--# - if @enterprises.empty?
--# %h4 No enterprises to display
--#
--# - @enterprises.each do |enterprise|
--# %h2= enterprise.name
--# %table
--# %thead
--# %th Begins
--# %th Ends
--# %th Sells
--# %th Trial?
--# %th Turnover
--# %th Bill
--# - enterprise.billable_periods.each do |billable_period|
--# %tr
--# %td= billable_period.begins_at.in_time_zone.strftime("%F %T")
--# %td= billable_period.ends_at.in_time_zone.strftime("%F %T")
--# %td= billable_period.sells
--# %td= billable_period.trial?
--# %td= billable_period.display_turnover
--# %td= billable_period.display_bill
diff --git a/spec/controllers/admin/manager_invitations_controller_spec.rb b/spec/controllers/admin/manager_invitations_controller_spec.rb
index 0b86ef3b66..071566e3a4 100644
--- a/spec/controllers/admin/manager_invitations_controller_spec.rb
+++ b/spec/controllers/admin/manager_invitations_controller_spec.rb
@@ -26,20 +26,26 @@ module Admin
end
context "signing up a new user" do
+ let(:manager_invitation) { instance_double(ManagerInvitationJob) }
+
before do
setup_email
controller.stub spree_current_user: admin
end
- it "creates a new user, sends an invitation email, and returns the user id" do
- expect do
- spree_post :create, {email: 'un.registered@email.com', enterprise_id: enterprise.id}
- end.to send_confirmation_instructions
+ it 'enqueues an invitation email' do
+ allow(ManagerInvitationJob)
+ .to receive(:new).with(enterprise.id, kind_of(Integer)) { manager_invitation }
+
+ expect(Delayed::Job).to receive(:enqueue).with(manager_invitation)
+
+ spree_post :create, { email: 'un.registered@email.com', enterprise_id: enterprise.id }
+ end
+
+ it "returns the user id" do
+ spree_post :create, { email: 'un.registered@email.com', enterprise_id: enterprise.id }
new_user = Spree::User.find_by_email('un.registered@email.com')
-
- expect(new_user.reset_password_token).to_not be_nil
- expect(response.status).to eq 200
expect(json_response['user']).to eq new_user.id
end
end
diff --git a/spec/features/admin/users_spec.rb b/spec/features/admin/users_spec.rb
index 1e57a95285..862e0fe6e0 100644
--- a/spec/features/admin/users_spec.rb
+++ b/spec/features/admin/users_spec.rb
@@ -32,6 +32,10 @@ feature "Managing users" do
describe "resending confirmation email", js: true do
let(:user) { create :user, confirmed_at: nil }
+ around do |example|
+ performing_deliveries { example.run }
+ end
+
it "displays success" do
visit spree.edit_admin_user_path user
diff --git a/spec/features/consumer/account/settings_spec.rb b/spec/features/consumer/account/settings_spec.rb
index 1c3880c974..2edc45cab1 100644
--- a/spec/features/consumer/account/settings_spec.rb
+++ b/spec/features/consumer/account/settings_spec.rb
@@ -21,21 +21,23 @@ feature "Account Settings", js: true do
end
it "allows the user to update their email address" do
- fill_in 'user_email', with: 'new@email.com'
+ performing_deliveries do
+ fill_in 'user_email', with: 'new@email.com'
- expect do
- click_button I18n.t(:update)
- end.to send_confirmation_instructions
+ 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']
+ 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')
+ 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
end
it "allows the user to change their password" do
diff --git a/spec/features/consumer/authentication_spec.rb b/spec/features/consumer/authentication_spec.rb
index be29540e94..ed0c87d66d 100644
--- a/spec/features/consumer/authentication_spec.rb
+++ b/spec/features/consumer/authentication_spec.rb
@@ -1,14 +1,9 @@
require 'spec_helper'
-feature "Authentication", js: true, retry: 3 do
+feature "Authentication", js: true do
include UIComponentHelper
include OpenFoodNetwork::EmailHelper
- # Attempt to address intermittent failures in these specs
- around do |example|
- Capybara.using_wait_time(120) { example.run }
- end
-
describe "login" do
let(:user) { create(:user, password: "password", password_confirmation: "password") }
@@ -76,15 +71,17 @@ feature "Authentication", js: true, retry: 3 do
end
scenario "Signing up successfully" do
- setup_email
- fill_in "Email", with: "test@foo.com"
- fill_in "Choose a password", with: "test12345"
- fill_in "Confirm password", with: "test12345"
+ performing_deliveries do
+ setup_email
+ fill_in "Email", with: "test@foo.com"
+ fill_in "Choose a password", with: "test12345"
+ fill_in "Confirm password", with: "test12345"
- expect do
- click_signup_button
- expect(page).to have_content I18n.t('devise.user_registrations.spree_user.signed_up_but_unconfirmed')
- end.to send_confirmation_instructions
+ expect do
+ click_signup_button
+ expect(page).to have_content I18n.t('devise.user_registrations.spree_user.signed_up_but_unconfirmed')
+ end.to send_confirmation_instructions
+ end
end
end
diff --git a/spec/support/email_helper.rb b/spec/support/email_helper.rb
index aea0cee76d..f622785425 100644
--- a/spec/support/email_helper.rb
+++ b/spec/support/email_helper.rb
@@ -7,5 +7,17 @@ module OpenFoodNetwork
def setup_email
Spree::Config[:mails_from] = "test@ofn.example.org"
end
+
+ # Ensures the value `perform_deliveries` had is restored. This saves us
+ # from messing up with the test suite's global state which is cause of
+ # trouble.
+ def performing_deliveries
+ old_value = ActionMailer::Base.perform_deliveries
+ ActionMailer::Base.perform_deliveries = true
+
+ yield
+
+ ActionMailer::Base.perform_deliveries = old_value
+ end
end
end