Update backorder mailer specs to check that these hub facing emails remain unaffected by white labelling (there are no customer facing emails here)

Also make use of the newly separated shared_examples
This commit is contained in:
Konrad
2025-07-11 10:46:17 +02:00
parent 29a76fd721
commit 3a75c3446e

View File

@@ -6,18 +6,30 @@ RSpec.describe BackorderMailer do
let(:order) { create(:completed_order_with_totals) }
describe "#backorder_failed" do
subject(:mail) { described_class.backorder_failed(order) }
it "notifies the owner" do
order.distributor.owner.email = "jane@example.net"
BackorderMailer.backorder_failed(order).deliver_now
mail = ActionMailer::Base.deliveries.first
expect(mail.to).to eq ["jane@example.net"]
expect(mail.subject).to eq "An automatic backorder failed"
first_mail = ActionMailer::Base.deliveries.first
expect(first_mail.to).to eq ["jane@example.net"]
expect(first_mail.subject).to eq "An automatic backorder failed"
end
context "white labelling" do
it_behaves_like 'email with inactive white labelling', :mail
it_behaves_like 'non-customer facing email with active white labelling', :mail
end
end
describe "#backorder_incomplete" do
subject(:mail) {
described_class.backorder_incomplete(
user, distributor, order_cycle, order_id
)
}
let(:user) { build(:user, email: "jane@example.net") }
let(:distributor) { build(:enterprise) }
let(:order_cycle) { build(:order_cycle) }
@@ -26,9 +38,14 @@ RSpec.describe BackorderMailer do
it "notifies the owner" do
BackorderMailer.backorder_incomplete(user, distributor, order_cycle, order_id).deliver_now
mail = ActionMailer::Base.deliveries.first
expect(mail.to).to eq ["jane@example.net"]
expect(mail.subject).to eq "An automatic backorder failed to complete"
first_mail = ActionMailer::Base.deliveries.first
expect(first_mail.to).to eq ["jane@example.net"]
expect(first_mail.subject).to eq "An automatic backorder failed to complete"
end
context "white labelling" do
it_behaves_like 'email with inactive white labelling', :mail
it_behaves_like 'non-customer facing email with active white labelling', :mail
end
end
end