aboutsummaryrefslogtreecommitdiffstats
path: root/spec/workers
diff options
context:
space:
mode:
authorTeddy Wing2017-10-30 17:45:08 +0100
committerTeddy Wing2017-10-30 17:48:58 +0100
commit1299a941e45be30d75709db096a7bc233b64eb95 (patch)
tree45d7e0a02a0fd7c6034c9987089d27c2239990f9 /spec/workers
parentf7d48398f5cb2ad714691bd630619b02c8958ac5 (diff)
downloadchouette-core-1299a941e45be30d75709db096a7bc233b64eb95.tar.bz2
ComplianceControlSetCopyWorker spec: Always stub API call
In the first test, we weren't stubbing the Java API call, so it would get executed for real. Put the HTTP stub in a `before(:each)` call so that it gets stubbed for every test here. Additionally, reorganise the tests a bit to clean them up. Move the HTTP stub to a `let` to allow it to be called in a couple different places. Since the HTTP stub depends on the `check_set` double, move that to a `let` too. And have the `ComplianceControlSetCopier` mock always return `check_set`, now that the app code depends on that return value. Refs #4782
Diffstat (limited to 'spec/workers')
-rw-r--r--spec/workers/compliance_control_set_copy_worker_spec.rb25
1 files changed, 16 insertions, 9 deletions
diff --git a/spec/workers/compliance_control_set_copy_worker_spec.rb b/spec/workers/compliance_control_set_copy_worker_spec.rb
index 72a030292..0ff721e75 100644
--- a/spec/workers/compliance_control_set_copy_worker_spec.rb
+++ b/spec/workers/compliance_control_set_copy_worker_spec.rb
@@ -1,28 +1,35 @@
RSpec.describe ComplianceControlSetCopyWorker do
let(:control_set_id) { 55 }
let(:referential_id) { 99 }
+ let(:check_set) { double(ComplianceCheckSet, id: 888) }
+ let(:stub_validation_request) do
+ stub_request(
+ :get,
+ "#{Rails.configuration.iev_url}/boiv_iev/referentials/validator/new?id=#{check_set.id}"
+ )
+ end
before(:each) do
- allow_any_instance_of(ComplianceControlSetCopier).to receive(:copy)
+ allow_any_instance_of(
+ ComplianceControlSetCopier
+ ).to receive(:copy).and_return(check_set)
+
+ stub_validation_request
end
it "calls ComplianceControlSetCopier" do
expect_any_instance_of(
ComplianceControlSetCopier
- ).to receive(:copy).with(control_set_id, referential_id)
+ ).to receive(:copy)
+ .with(control_set_id, referential_id)
+ .and_return(check_set)
ComplianceControlSetCopyWorker.new.perform(control_set_id, referential_id)
end
it "calls the Java API to launch validation" do
- validation_request = stub_request(
- :get,
- "#{Rails.configuration.iev_url}/boiv_iev/referentials/validator/new?id=#{control_set_id}"
- )
- allow_any_instance_of(ComplianceControlSetCopier).to receive(:copy).and_return(check_set)
-
ComplianceControlSetCopyWorker.new.perform(control_set_id, referential_id)
- expect(validation_request).to have_been_requested
+ expect(stub_validation_request).to have_been_requested
end
end