mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
46 lines
1.4 KiB
Ruby
46 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe PaymentMailer do
|
|
describe '#payment_mailer' do
|
|
let(:enterprise) { create(:enterprise) }
|
|
let(:payment_method) {
|
|
create(:payment_method, distributors: [order.distributor])
|
|
}
|
|
let(:payment) {
|
|
create(:payment, order:, payment_method:)
|
|
}
|
|
let(:order) { create(:completed_order_with_totals) }
|
|
|
|
context "authorize payment email" do
|
|
subject(:email) { described_class.authorize_payment(payment) }
|
|
|
|
it "includes the distributor's name in the subject" do
|
|
expect(email.subject).to include("authorize your payment to #{order.distributor.name}")
|
|
end
|
|
|
|
it "sets a reply-to of the customer email" do
|
|
expect(email.reply_to).to eq([order.distributor.contact.email])
|
|
end
|
|
|
|
it "includes a link to authorize the payment" do
|
|
link = "http://test.host/payments/#{payment.id}/authorize"
|
|
expect(email.body).to have_link link, href: link
|
|
end
|
|
end
|
|
|
|
context "authorization required email" do
|
|
subject(:email) { described_class.authorization_required(payment) }
|
|
|
|
it "includes the distributor's name in the subject" do
|
|
expect(email.subject).to include("A payment requires authorization from the customer")
|
|
end
|
|
|
|
it "sets a reply-to of the customer email" do
|
|
expect(email.reply_to).to eq([order.email])
|
|
end
|
|
end
|
|
end
|
|
end
|