From 18fe35e130b5769e09cbe577e889e50a277387a4 Mon Sep 17 00:00:00 2001 From: Kristina Lim Date: Mon, 25 Mar 2019 15:03:06 +0800 Subject: [PATCH] Address spec failures for SubscriptionConfirmJob --- spec/jobs/subscription_confirm_job_spec.rb | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/spec/jobs/subscription_confirm_job_spec.rb b/spec/jobs/subscription_confirm_job_spec.rb index 64713518e3..fbf736ff82 100644 --- a/spec/jobs/subscription_confirm_job_spec.rb +++ b/spec/jobs/subscription_confirm_job_spec.rb @@ -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