Address spec failures for SubscriptionConfirmJob

This commit is contained in:
Kristina Lim
2019-03-25 15:03:06 +08:00
parent 846e6fdd90
commit 18fe35e130

View File

@@ -1,6 +1,6 @@
require 'spec_helper'
xdescribe SubscriptionConfirmJob do
describe SubscriptionConfirmJob do
include OpenFoodNetwork::EmailHelper
let(:job) { SubscriptionConfirmJob.new }
@@ -10,10 +10,15 @@ xdescribe SubscriptionConfirmJob do
let(:order_cycle1) { create(:simple_order_cycle, coordinator: shop, orders_close_at: 59.minutes.ago, updated_at: 1.day.ago) }
let(:order_cycle2) { create(:simple_order_cycle, coordinator: shop, orders_close_at: 61.minutes.ago, updated_at: 1.day.ago) }
let(:schedule) { create(:schedule, order_cycles: [order_cycle1, order_cycle2]) }
let(:subscription) { create(:subscription, shop: shop, schedule: schedule) }
let!(:proxy_order) { create(:proxy_order, subscription: subscription, order_cycle: order_cycle1, placed_at: 5.minutes.ago, order: create(:order, completed_at: 1.minute.ago)) }
let(:subscription) { create(:subscription, with_items: true, shop: shop, schedule: schedule) }
let!(:proxy_order) { create(:proxy_order, subscription: subscription, order_cycle: order_cycle1, placed_at: 5.minutes.ago) }
let!(:order) { proxy_order.initialise_order! }
let(:proxy_orders) { job.send(:proxy_orders) }
before do
AdvanceOrderService.new(order).call!
end
it "returns proxy orders that meet all of the criteria" do
expect(proxy_orders).to include proxy_order
end
@@ -119,7 +124,7 @@ xdescribe SubscriptionConfirmJob do
let(:order) { proxy_order.initialise_order! }
before do
while !order.completed? do break unless order.next! end
AdvanceOrderService.new(order).call!
allow(job).to receive(:send_confirm_email).and_call_original
job.instance_variable_set(:@order, order)
setup_email
@@ -168,6 +173,7 @@ xdescribe SubscriptionConfirmJob do
end
it "sends only a subscription confirm email, no regular confirmation emails" do
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.deliveries.clear
expect{ job.send(:process!) }.to_not enqueue_job ConfirmOrderJob
expect(job).to have_received(:send_confirm_email).once