Remove order link in non-user failed payment email

This commit is contained in:
Kristina Lim
2018-08-30 03:14:41 +08:00
parent f8244a400a
commit 5f2c3a1955
2 changed files with 29 additions and 4 deletions

View File

@@ -2,9 +2,10 @@
%p.callout
= t("email_so_failed_payment_explainer_html", distributor: @order.distributor.name)
= t("email_so_edit_false_html",
orders_close_at: l(@order.order_cycle.orders_close_at, format: mail_long_datetime_format),
order_url: spree.order_url(@order))
- if @order.user.present?
= t("email_so_edit_false_html",
orders_close_at: l(@order.order_cycle.orders_close_at, format: mail_long_datetime_format),
order_url: spree.order_url(@order))
= t("email_so_contact_distributor_html", distributor: @order.distributor.name, email: @order.distributor.contact.email)
- if @order.errors.any?

View File

@@ -129,7 +129,8 @@ describe SubscriptionMailer do
end
describe "failed payment notification" do
let(:subscription) { create(:subscription, with_items: true) }
let(:customer) { create(:customer) }
let(:subscription) { create(:subscription, customer: customer, with_items: true) }
let(:proxy_order) { create(:proxy_order, subscription: subscription) }
let!(:order) { proxy_order.initialise_order! }
@@ -150,6 +151,29 @@ describe SubscriptionMailer do
expect(body).to include strip_tags(details)
expect(body).to include "This is a payment failure error"
end
describe "linking to order page" do
let(:order_link_href) { "href=\"#{spree.order_url(order)}\"" }
let(:email) { SubscriptionMailer.deliveries.last }
let(:body) { email.body.encoded }
context "when the customer has a user account" do
let(:customer) { create(:customer) }
it "provides link to view details" do
expect(body).to match /#{order_link_href}/
end
end
context "when the customer has no user account" do
let(:customer) { create(:customer, user: nil) }
it "does not provide link" do
expect(body).to_not match /#{order_link_href}/
end
end
end
end
describe "order placement summary" do