add specs

This commit is contained in:
Andy Brett
2021-03-24 13:17:09 -07:00
parent 9d2fd373ce
commit d0d3b73257
3 changed files with 43 additions and 0 deletions

View File

@@ -94,6 +94,17 @@ module OrderManagement
end
end
end
describe "#record_subscription_issue" do
let(:subscription) { double(:subscription, shop_id: 1) }
before { allow(summarizer).to receive(:summary_for_shop_id).with(subscription.shop_id) { summary } }
it "records a subscription issue" do
expect(summary).to receive(:record_subscription_issue).with(subscription).once
summarizer.record_subscription_issue(subscription)
end
end
end
describe "#send_placement_summary_emails" do

View File

@@ -56,6 +56,15 @@ module OrderManagement
end
end
describe "record_subscription_issue" do
let(:subscription) { double(:subscription, id: 101) }
it "stores a new subscription issue" do
summary.record_subscription_issue(subscription)
expect(summary.subscription_issues).to eq [101]
end
end
describe "#order_count" do
let(:order_ids) { [1, 2, 3, 4, 5, 6, 7] }
it "counts the number of items in the order_ids instance_variable" do
@@ -81,6 +90,17 @@ module OrderManagement
summary.instance_variable_set(:@success_ids, success_ids)
expect(summary.issue_count).to be 2 # 7 & 9
end
context "when there are also subscription issues" do
let(:subscription_issues) { [101, 212] }
it "includes subscription issues in the count" do
summary.instance_variable_set(:@order_ids, order_ids)
summary.instance_variable_set(:@success_ids, success_ids)
summary.instance_variable_set(:@subscription_issues, subscription_issues)
expect(summary.issue_count).to eq 4 # 7, 9, 101, 212
end
end
end
describe "#orders_affected_by" do

View File

@@ -217,6 +217,18 @@ describe SubscriptionPlacementJob do
end
end
end
context "when the proxy order fails to generate an order" do
before do
allow(proxy_order).to receive(:initialise_order!) { nil }
end
it "records an error " do
expect(job).to receive(:record_subscription_issue)
expect(job).to_not receive(:place_order)
job.send(:place_proxy_order, proxy_order)
end
end
end
describe "#send_placement_email" do