From 4c1f1c2c91a1a43f0ee38fc0f5e8c92dea996f04 Mon Sep 17 00:00:00 2001
From: Mike Wyatt <wyatt.mike@gmail.com>
Date: Tue, 29 Dec 2015 15:40:50 -0400
Subject: [PATCH] Update Asana specs

---
 .../project_services/asana_service_spec.rb    | 40 +++++++++++++++----
 1 file changed, 32 insertions(+), 8 deletions(-)

diff --git a/spec/models/project_services/asana_service_spec.rb b/spec/models/project_services/asana_service_spec.rb
index e368b03206e..306d18171be 100644
--- a/spec/models/project_services/asana_service_spec.rb
+++ b/spec/models/project_services/asana_service_spec.rb
@@ -52,30 +52,54 @@ describe AsanaService, models: true do
     end
 
     it 'should call Asana service to created a story' do
-      expect(Asana::Task).to receive(:find).with('123456').once
+      d1 = double('Asana::Task', add_comment: true)
+      expect(d1).to receive(:add_comment)
+      expect(Asana::Task).to receive(:find_by_id).with(anything, '123456').once.and_return(d1)
 
       @asana.check_commit('related to #123456', 'pushed')
     end
 
     it 'should call Asana service to created a story and close a task' do
-      expect(Asana::Task).to receive(:find).with('456789').twice
+      d1 = double('Asana::Task', add_comment: true)
+      expect(d1).to receive(:add_comment)
+      expect(d1).to receive(:update).with(completed: true)
+      expect(Asana::Task).to receive(:find_by_id).with(anything, '456789').once.and_return(d1)
 
       @asana.check_commit('fix #456789', 'pushed')
     end
 
     it 'should be able to close via url' do
-      expect(Asana::Task).to receive(:find).with('42').twice
+      d1 = double('Asana::Task', add_comment: true)
+      expect(d1).to receive(:add_comment)
+      expect(d1).to receive(:update).with(completed: true)
+      expect(Asana::Task).to receive(:find_by_id).with(anything, '42').once.and_return(d1)
 
       @asana.check_commit('closes https://app.asana.com/19292/956299/42', 'pushed')
     end
 
     it 'should allow multiple matches per line' do
-      expect(Asana::Task).to receive(:find).with('123').twice
-      expect(Asana::Task).to receive(:find).with('456').twice
-      expect(Asana::Task).to receive(:find).with('789').once
+      d1 = double('Asana::Task', add_comment: true)
+      expect(d1).to receive(:add_comment)
+      expect(d1).to receive(:update).with(completed: true)
+      expect(Asana::Task).to receive(:find_by_id).with(anything, '123').once.and_return(d1)
 
-      expect(Asana::Task).to receive(:find).with('42').once
-      expect(Asana::Task).to receive(:find).with('12').twice
+      d2 = double('Asana::Task', add_comment: true)
+      expect(d2).to receive(:add_comment)
+      expect(d2).to receive(:update).with(completed: true)
+      expect(Asana::Task).to receive(:find_by_id).with(anything, '456').once.and_return(d2)
+
+      d3 = double('Asana::Task', add_comment: true)
+      expect(d3).to receive(:add_comment)
+      expect(Asana::Task).to receive(:find_by_id).with(anything, '789').once.and_return(d3)
+
+      d4 = double('Asana::Task', add_comment: true)
+      expect(d4).to receive(:add_comment)
+      expect(Asana::Task).to receive(:find_by_id).with(anything, '42').once.and_return(d4)
+
+      d5 = double('Asana::Task', add_comment: true)
+      expect(d5).to receive(:add_comment)
+      expect(d5).to receive(:update).with(completed: true)
+      expect(Asana::Task).to receive(:find_by_id).with(anything, '12').once.and_return(d5)
 
       message = <<-EOF
       minor bigfix, refactoring, fixed #123 and Closes #456 work on #789
-- 
GitLab