Files
openfoodnetwork/spec/mailers/backorder_mailer_spec.rb
Maikel Linke 74c80c9fff Prepare BackorderJob for stock controlled items
We want to trigger the backordering for any linked product now. So let's
do that check early and then select the variants in the background.
It means less data passed to the job and less space for race conditions.
2024-10-03 13:28:20 +10:00

35 lines
1.0 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
RSpec.describe BackorderMailer do
let(:order) { create(:completed_order_with_totals) }
describe "#backorder_failed" do
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"
end
end
describe "#backorder_incomplete" do
let(:user) { build(:user, email: "jane@example.net") }
let(:distributor) { build(:enterprise) }
let(:order_cycle) { build(:order_cycle) }
let(:order_id) { "https://null" }
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"
end
end
end