summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2017-05-03 14:53:54 +0200
committerJames Lopez <james@jameslopez.es>2017-05-03 14:53:54 +0200
commit7ac89d05dbf6c932e9cb6e87cc64c46e015a22d5 (patch)
tree2b4941b38e371bbd4dc03f52ebd3e1917c71fc53
parent6201f4c2b59748f14c4899af7077aee1cf751f04 (diff)
downloadgitlab-ce-7ac89d05dbf6c932e9cb6e87cc64c46e015a22d5.tar.gz
add service spec
-rw-r--r--spec/models/service_spec.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/models/service_spec.rb b/spec/models/service_spec.rb
index 134882648b9..e9acbb81ad9 100644
--- a/spec/models/service_spec.rb
+++ b/spec/models/service_spec.rb
@@ -254,4 +254,30 @@ describe Service, models: true do
end
end
end
+
+ describe "#update_and_propagate" do
+ let!(:service) do
+ RedmineService.new(
+ project: project,
+ active: false,
+ properties: {
+ project_url: 'http://redmine/projects/project_name_in_redmine',
+ issues_url: "http://redmine/#{project.id}/project_name_in_redmine/:id",
+ new_issue_url: 'http://redmine/projects/project_name_in_redmine/issues/new'
+ }
+ )
+ end
+
+ it 'updates the service params successfully and calls the propagation worker' do
+ expect(PropagateProjectServiceWorker).to receve(:perform_async)
+
+ expect(service.update_and_propagate(active: true)).to be true
+ end
+
+ it 'updates the service params successfully' do
+ expect(PropagateProjectServiceWorker).not_to receve(:perform_asyncs)
+
+ expect(service.update_and_propagate(properties: {})).to be true
+ end
+ end
end