diff --git a/app/views/spree/order_mailer/_order_summary.html.haml b/app/views/spree/order_mailer/_order_summary.html.haml index 1c3b4c74808..bf9b34c97d8 100644 --- a/app/views/spree/order_mailer/_order_summary.html.haml +++ b/app/views/spree/order_mailer/_order_summary.html.haml @@ -43,7 +43,10 @@ - checkout_adjustments_for(@order, exclude: [:line_item]).reverse_each do |adjustment| %tr %td{align: "right", colspan: "3"} - = "#{adjustment.label}:" + - if adjustment.originator_type == "Voucher" + = t(:email_order_summary_voucher_label, code: adjustment.label) + - else + = "#{adjustment.label}:" %td{align: "right"} = adjustment.display_amount %tr diff --git a/config/locales/en.yml b/config/locales/en.yml index 4bb9d34b70a..4a4d6bff47f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2495,6 +2495,7 @@ See the %{link} to find out more about %{sitename}'s features and to start using email_order_summary_subtotal: "Subtotal:" email_order_summary_total: "Total:" email_order_summary_includes_tax: "(includes tax):" + email_order_summary_voucher_label: "Voucher (%{code}):" email_payment_paid: PAID email_payment_not_paid: NOT PAID email_payment_description: Payment Description at Checkout diff --git a/spec/mailers/order_mailer_spec.rb b/spec/mailers/order_mailer_spec.rb index 34206213d55..a991f8659d4 100644 --- a/spec/mailers/order_mailer_spec.rb +++ b/spec/mailers/order_mailer_spec.rb @@ -257,4 +257,30 @@ end end end + + context "display adjustments" do + let(:order) { create(:order_with_totals_and_distribution, :completed) } + let(:voucher) { create(:voucher, enterprise: order.distributor) } + + before do + voucher.create_adjustment(voucher.code, order) + OrderManagement::Order::Updater.new(order).update_voucher + end + + let!(:confirmation_email_for_customer) { Spree::OrderMailer.confirm_email_for_customer(order) } + let!(:confirmation_email_for_shop) { Spree::OrderMailer.confirm_email_for_shop(order) } + let!(:cancellation_email) { Spree::OrderMailer.cancel_email(order) } + + it "includes Voucher text with label" do + expect(confirmation_email_for_customer.body).to include("Voucher (#{voucher.code}):") + expect(confirmation_email_for_shop.body).to include("Voucher (#{voucher.code}):") + expect(cancellation_email.body).to include("Voucher (#{voucher.code}):") + end + + it "includes Shipping label" do + expect(confirmation_email_for_customer.body).to include("Shipping:") + expect(confirmation_email_for_shop.body).to include("Shipping:") + expect(cancellation_email.body).to include("Shipping:") + end + end end