diff options
author | James Lopez <james@jameslopez.es> | 2017-05-03 14:53:54 +0200 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2017-05-03 14:53:54 +0200 |
commit | 7ac89d05dbf6c932e9cb6e87cc64c46e015a22d5 (patch) | |
tree | 2b4941b38e371bbd4dc03f52ebd3e1917c71fc53 | |
parent | 6201f4c2b59748f14c4899af7077aee1cf751f04 (diff) | |
download | gitlab-ce-7ac89d05dbf6c932e9cb6e87cc64c46e015a22d5.tar.gz |
add service spec
-rw-r--r-- | spec/models/service_spec.rb | 26 |
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 |