Merge pull request #10726 from mkllnk/spec-email-helper

Remove useless email test setup
This commit is contained in:
Gaetan Craig-Riou
2023-04-21 15:43:19 +10:00
committed by GitHub
25 changed files with 10 additions and 158 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)) }

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 }

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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,

View File

@@ -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) }

View File

@@ -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

View File

@@ -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

View File

@@ -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))

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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'

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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") }