diff --git a/spec/models/service_spec.rb b/spec/models/service_spec.rb
index 134882648b9b49a1e01e216e30aa15269db3d540..e9acbb81ad99e4fb9b32d4d9543f2ca72a7ad8d3 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