mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Merge pull request #10726 from mkllnk/spec-email-helper
Remove useless email test setup
This commit is contained in:
@@ -4,7 +4,6 @@ require 'spec_helper'
|
||||
|
||||
describe Admin::SubscriptionsController, type: :controller do
|
||||
include AuthenticationHelper
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
describe 'index' do
|
||||
let!(:user) { create(:user, enterprise_limit: 10) }
|
||||
@@ -676,7 +675,6 @@ describe Admin::SubscriptionsController, type: :controller do
|
||||
|
||||
context "when at least one associate orders is 'canceled'" do
|
||||
before do
|
||||
setup_email
|
||||
proxy_order.cancel
|
||||
end
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ describe Spree::Admin::MailMethodsController do
|
||||
has_spree_role?: true,
|
||||
locale: nil)
|
||||
allow(controller).to receive_messages(spree_current_user: user)
|
||||
ActionMailer::Base.perform_deliveries = true
|
||||
|
||||
expect {
|
||||
spree_post :testmail
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Spree::Admin::OrdersController, type: :controller do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
describe "#invoice" do
|
||||
let!(:user) { create(:user) }
|
||||
let!(:enterprise_user) { create(:user) }
|
||||
@@ -54,7 +52,6 @@ describe Spree::Admin::OrdersController, type: :controller do
|
||||
before do
|
||||
allow(Spree::OrderMailer).to receive(:invoice_email) { mail_mock }
|
||||
distributor.update_attribute(:abn, "123")
|
||||
setup_email
|
||||
end
|
||||
|
||||
it "should allow me to send order invoices" do
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Spree::Admin::OrdersController, type: :controller do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
describe "#edit" do
|
||||
let!(:order) { create(:order_with_totals_and_distribution, ship_address: create(:address)) }
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Spree::OrdersController, type: :controller do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
include CheckoutHelper
|
||||
include StripeStubs
|
||||
|
||||
@@ -471,10 +470,6 @@ describe Spree::OrdersController, type: :controller do
|
||||
distributor: create(:distributor_enterprise))
|
||||
}
|
||||
|
||||
before do
|
||||
setup_email
|
||||
end
|
||||
|
||||
it "responds with success" do
|
||||
spree_put :cancel, params
|
||||
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe UserConfirmationsController, type: :controller do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
let!(:user) { create(:user) }
|
||||
let!(:confirmed_user) { create(:user, confirmed_at: nil) }
|
||||
let!(:unconfirmed_user) { create(:user, confirmed_at: nil) }
|
||||
@@ -63,8 +61,6 @@ describe UserConfirmationsController, type: :controller do
|
||||
end
|
||||
|
||||
context "requesting confirmation instructions to be resent" do
|
||||
before { setup_email }
|
||||
|
||||
it "redirects the user to login" do
|
||||
spree_post :create, spree_user: { email: unconfirmed_user.email }
|
||||
expect(response).to redirect_to login_path
|
||||
@@ -72,13 +68,11 @@ describe UserConfirmationsController, type: :controller do
|
||||
end
|
||||
|
||||
it "sends the confirmation email" do
|
||||
performing_deliveries do
|
||||
expect do
|
||||
spree_post :create, spree_user: { email: unconfirmed_user.email }
|
||||
end.to enqueue_job ActionMailer::MailDeliveryJob
|
||||
expect do
|
||||
spree_post :create, spree_user: { email: unconfirmed_user.email }
|
||||
end.to enqueue_job ActionMailer::MailDeliveryJob
|
||||
|
||||
expect(enqueued_jobs.last.to_s).to match "confirmation_instructions"
|
||||
end
|
||||
expect(enqueued_jobs.last.to_s).to match "confirmation_instructions"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,12 +3,6 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe UserRegistrationsController, type: :controller do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
before(:all) do
|
||||
setup_email
|
||||
end
|
||||
|
||||
before do
|
||||
@request.env["devise.mapping"] = Devise.mappings[:spree_user]
|
||||
end
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe SubscriptionConfirmJob do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
let(:job) { SubscriptionConfirmJob.new }
|
||||
|
||||
describe "finding proxy_orders that are ready to be confirmed" do
|
||||
@@ -76,7 +74,6 @@ describe SubscriptionConfirmJob do
|
||||
end
|
||||
|
||||
it "ignores orders that have been cancelled" do
|
||||
setup_email
|
||||
proxy_order.order.cancel!
|
||||
expect(proxy_orders).to_not include proxy_order
|
||||
end
|
||||
@@ -145,7 +142,6 @@ describe SubscriptionConfirmJob do
|
||||
OrderWorkflow.new(order).complete!
|
||||
allow(job).to receive(:send_confirmation_email).and_call_original
|
||||
allow(job).to receive(:send_payment_authorization_emails).and_call_original
|
||||
setup_email
|
||||
expect(job).to receive(:record_order)
|
||||
end
|
||||
|
||||
@@ -241,10 +237,6 @@ describe SubscriptionConfirmJob do
|
||||
end
|
||||
|
||||
context "when payments are processed without error" do
|
||||
around do |example|
|
||||
performing_deliveries { example.run }
|
||||
end
|
||||
|
||||
before do
|
||||
expect(payment).to receive(:process_offline!) { true }
|
||||
expect(payment).to receive(:completed?) { true }
|
||||
|
||||
@@ -10,18 +10,7 @@ describe Spree::OrderMailer do
|
||||
end
|
||||
let(:message) { Spree::OrderMailer.confirm_email_for_shop(order) }
|
||||
|
||||
before(:all) do
|
||||
ActionMailer::Base.perform_deliveries = true
|
||||
ActionMailer::Base.deliveries.clear
|
||||
end
|
||||
|
||||
context "#deliver" do
|
||||
before do
|
||||
ActionMailer::Base.delivery_method = :test
|
||||
end
|
||||
|
||||
after { ActionMailer::Base.deliveries.clear }
|
||||
|
||||
it "should use the from address specified in the preference" do
|
||||
Spree::Config[:mails_from] = "no-reply@foobar.com"
|
||||
message.deliver_now
|
||||
|
||||
@@ -3,16 +3,9 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe EnterpriseMailer do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
let!(:enterprise) { create(:enterprise) }
|
||||
let!(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
ActionMailer::Base.deliveries = []
|
||||
setup_email
|
||||
end
|
||||
|
||||
describe "#welcome" do
|
||||
it "sends a welcome email when given an enterprise" do
|
||||
EnterpriseMailer.welcome(enterprise).deliver_now
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Spree::OrderMailer do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
describe '#confirm_email_for_customer' do
|
||||
subject(:email) { described_class.confirm_email_for_customer(order) }
|
||||
|
||||
@@ -155,17 +153,6 @@ describe Spree::OrderMailer do
|
||||
special_instructions: shipping_instructions)
|
||||
}
|
||||
|
||||
after do
|
||||
ActionMailer::Base.deliveries.clear
|
||||
end
|
||||
|
||||
before do
|
||||
setup_email
|
||||
ActionMailer::Base.delivery_method = :test
|
||||
ActionMailer::Base.perform_deliveries = true
|
||||
ActionMailer::Base.deliveries = []
|
||||
end
|
||||
|
||||
describe "for customers" do
|
||||
it "should send an email to the customer when given an order" do
|
||||
Spree::OrderMailer.confirm_email_for_customer(order.id).deliver_now
|
||||
|
||||
@@ -4,10 +4,6 @@ require 'spec_helper'
|
||||
require 'yaml'
|
||||
|
||||
describe ProducerMailer, type: :mailer do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
before { setup_email }
|
||||
|
||||
let!(:zone) { create(:zone_with_member) }
|
||||
let!(:tax_rate) {
|
||||
create(:tax_rate, included_in_price: true, calculator: Calculator::DefaultTax.new, zone: zone,
|
||||
|
||||
@@ -4,9 +4,6 @@ require 'spec_helper'
|
||||
|
||||
describe SubscriptionMailer, type: :mailer do
|
||||
include ActionView::Helpers::SanitizeHelper
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
before { setup_email }
|
||||
|
||||
describe '#placement_email' do
|
||||
subject(:email) { SubscriptionMailer.placement_email(order, changes) }
|
||||
|
||||
@@ -3,22 +3,8 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Spree::UserMailer do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
let(:user) { build(:user) }
|
||||
|
||||
after do
|
||||
ActionMailer::Base.deliveries.clear
|
||||
end
|
||||
|
||||
before do
|
||||
ActionMailer::Base.delivery_method = :test
|
||||
ActionMailer::Base.perform_deliveries = true
|
||||
ActionMailer::Base.deliveries = []
|
||||
|
||||
setup_email
|
||||
end
|
||||
|
||||
describe '#signup_confirmation' do
|
||||
it "sends email when given a user" do
|
||||
Spree::UserMailer.signup_confirmation(user).deliver_now
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe OrderCycle do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
it "should be valid when built from factory" do
|
||||
expect(build(:simple_order_cycle)).to be_valid
|
||||
end
|
||||
@@ -448,9 +446,6 @@ describe OrderCycle do
|
||||
create(:completed_order_with_totals, distributor: shop, user: user, order_cycle: oc)
|
||||
}
|
||||
|
||||
before do
|
||||
setup_email
|
||||
end
|
||||
before { order_cancelled.cancel }
|
||||
|
||||
it "only returns items from non-cancelled orders in the OC, placed by the user at the shop" do
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Spree::Order do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
let(:user) { build(:user, email: "spree@example.com") }
|
||||
let(:order) { build(:order, user: user) }
|
||||
|
||||
@@ -909,10 +907,6 @@ describe Spree::Order do
|
||||
|
||||
describe "scopes" do
|
||||
describe "not_state" do
|
||||
before do
|
||||
setup_email
|
||||
end
|
||||
|
||||
it "finds only orders not in specified state" do
|
||||
o = FactoryBot.create(:completed_order_with_totals,
|
||||
distributor: create(:distributor_enterprise))
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Spree::User do
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
describe "associations" do
|
||||
it { is_expected.to have_many(:owned_enterprises) }
|
||||
it { is_expected.to have_many(:webhook_endpoints).dependent(:destroy) }
|
||||
@@ -84,13 +82,9 @@ describe Spree::User do
|
||||
|
||||
context "#create" do
|
||||
it "should send a confirmation email" do
|
||||
setup_email
|
||||
|
||||
performing_deliveries do
|
||||
expect do
|
||||
create(:user, email: 'new_user@example.com', confirmation_sent_at: nil, confirmed_at: nil)
|
||||
end.to enqueue_job ActionMailer::MailDeliveryJob
|
||||
end
|
||||
expect do
|
||||
create(:user, email: 'new_user@example.com', confirmation_sent_at: nil, confirmed_at: nil)
|
||||
end.to enqueue_job ActionMailer::MailDeliveryJob
|
||||
|
||||
expect(enqueued_jobs.last.to_s).to match "confirmation_instructions"
|
||||
end
|
||||
@@ -118,8 +112,6 @@ describe Spree::User do
|
||||
|
||||
context "confirming email" do
|
||||
it "should send a welcome email" do
|
||||
setup_email
|
||||
|
||||
expect do
|
||||
create(:user, confirmed_at: nil).confirm
|
||||
end.to enqueue_job ActionMailer::MailDeliveryJob
|
||||
|
||||
@@ -56,8 +56,6 @@ describe PlaceProxyOrder do
|
||||
end
|
||||
|
||||
it "records an issue and ignores it" do
|
||||
ActionMailer::Base.deliveries.clear
|
||||
|
||||
expect(summarizer).to receive(:record_issue).with(:complete, order).once
|
||||
expect { subject.call }.to_not change { order.reload.state }
|
||||
expect(order.payments.first.state).to eq "checkout"
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module OpenFoodNetwork
|
||||
module EmailHelper
|
||||
# Some specs trigger actions that send emails, for example creating an order.
|
||||
# But sending emails doesn't work out-of-the-box. This code sets it up.
|
||||
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
|
||||
@@ -8,7 +8,6 @@ describe '
|
||||
' do
|
||||
include AuthenticationHelper
|
||||
include WebHelper
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
context "as a site administrator" do
|
||||
before { login_to_admin_section }
|
||||
@@ -150,7 +149,6 @@ create(:enterprise)
|
||||
end
|
||||
|
||||
xit "can invite unregistered users to be managers" do
|
||||
setup_email
|
||||
find('a.button.help-modal').click
|
||||
expect(page).to have_css '#invite-manager-modal'
|
||||
|
||||
|
||||
@@ -4,11 +4,9 @@ require "system_helper"
|
||||
|
||||
describe "Managing users" do
|
||||
include AuthenticationHelper
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
context "as super-admin" do
|
||||
before do
|
||||
setup_email
|
||||
login_as_admin
|
||||
end
|
||||
|
||||
@@ -154,10 +152,6 @@ describe "Managing users" do
|
||||
describe "resending confirmation email" 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
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ require 'system_helper'
|
||||
|
||||
describe "Account Settings" do
|
||||
include AuthenticationHelper
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
describe "as a logged in user" do
|
||||
let(:user) do
|
||||
@@ -15,7 +14,6 @@ describe "Account Settings" do
|
||||
end
|
||||
|
||||
before do
|
||||
setup_email
|
||||
login_as user
|
||||
visit "/account"
|
||||
find("a", text: /Account Settings/i).click
|
||||
@@ -25,11 +23,9 @@ describe "Account Settings" do
|
||||
it "allows the user to update their email address" do
|
||||
fill_in 'user_email', with: 'new@email.com'
|
||||
|
||||
performing_deliveries do
|
||||
expect do
|
||||
click_button 'Update'
|
||||
end.to enqueue_job ActionMailer::MailDeliveryJob
|
||||
end
|
||||
expect do
|
||||
click_button 'Update'
|
||||
end.to enqueue_job ActionMailer::MailDeliveryJob
|
||||
|
||||
expect(enqueued_jobs.last.to_s).to match "new@email.com"
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ require 'system_helper'
|
||||
describe "Authentication" do
|
||||
include AuthenticationHelper
|
||||
include UIComponentHelper
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
describe "login" do
|
||||
let(:user) { create(:user, password: "password", password_confirmation: "password") }
|
||||
@@ -126,7 +125,6 @@ describe "Authentication" do
|
||||
|
||||
describe "forgetting passwords" do
|
||||
before do
|
||||
ActionMailer::Base.deliveries.clear
|
||||
select_login_tab "Forgot Password?"
|
||||
end
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ require 'system_helper'
|
||||
|
||||
describe "Order Management" do
|
||||
include AuthenticationHelper
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
describe "viewing a completed order" do
|
||||
let!(:distributor) { create(:distributor_enterprise) }
|
||||
@@ -148,9 +147,6 @@ describe "Order Management" do
|
||||
end
|
||||
|
||||
context "when the distributor allows changes to be made to orders" do
|
||||
before do
|
||||
setup_email
|
||||
end
|
||||
before do
|
||||
order.distributor.update(allow_order_changes: true)
|
||||
end
|
||||
|
||||
@@ -4,7 +4,6 @@ require "system_helper"
|
||||
|
||||
describe "User password confirm/reset page" do
|
||||
include UIComponentHelper
|
||||
include OpenFoodNetwork::EmailHelper
|
||||
|
||||
let(:email) { "test@example.org" }
|
||||
let(:user) { Spree::User.create(email: email, unconfirmed_email: email, password: "secret") }
|
||||
|
||||
Reference in New Issue
Block a user