Commit 571df5f4 authored by Mike Wyatt's avatar Mike Wyatt

Use `execute` in Asana specs

parent 90029a5c
...@@ -76,53 +76,56 @@ describe AsanaService, models: true do ...@@ -76,53 +76,56 @@ describe AsanaService, models: true do
@asana.execute(data) @asana.execute(data)
end end
it 'should call Asana service to created a story and close a task' do it 'should call Asana service to create a story and close a task' do
d1 = double('Asana::Task', add_comment: true) data = create_data_for_commits('fix #456789')
d1 = double('Asana::Task')
expect(d1).to receive(:add_comment) expect(d1).to receive(:add_comment)
expect(d1).to receive(:update).with(completed: true) expect(d1).to receive(:update).with(completed: true)
expect(Asana::Task).to receive(:find_by_id).with(anything, '456789').once.and_return(d1) expect(Asana::Task).to receive(:find_by_id).with(anything, '456789').once.and_return(d1)
@asana.check_commit('fix #456789', 'pushed') @asana.execute(data)
end end
it 'should be able to close via url' do it 'should be able to close via url' do
d1 = double('Asana::Task', add_comment: true) data = create_data_for_commits('closes https://app.asana.com/19292/956299/42')
d1 = double('Asana::Task')
expect(d1).to receive(:add_comment) expect(d1).to receive(:add_comment)
expect(d1).to receive(:update).with(completed: true) expect(d1).to receive(:update).with(completed: true)
expect(Asana::Task).to receive(:find_by_id).with(anything, '42').once.and_return(d1) 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') @asana.execute(data)
end end
it 'should allow multiple matches per line' do it 'should allow multiple matches per line' do
d1 = double('Asana::Task', add_comment: true) message = <<-EOF
minor bigfix, refactoring, fixed #123 and Closes #456 work on #789
ref https://app.asana.com/19292/956299/42 and closing https://app.asana.com/19292/956299/12
EOF
data = create_data_for_commits(message)
d1 = double('Asana::Task')
expect(d1).to receive(:add_comment) expect(d1).to receive(:add_comment)
expect(d1).to receive(:update).with(completed: true) 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_by_id).with(anything, '123').once.and_return(d1)
d2 = double('Asana::Task', add_comment: true) d2 = double('Asana::Task')
expect(d2).to receive(:add_comment) expect(d2).to receive(:add_comment)
expect(d2).to receive(:update).with(completed: true) expect(d2).to receive(:update).with(completed: true)
expect(Asana::Task).to receive(:find_by_id).with(anything, '456').once.and_return(d2) expect(Asana::Task).to receive(:find_by_id).with(anything, '456').once.and_return(d2)
d3 = double('Asana::Task', add_comment: true) d3 = double('Asana::Task')
expect(d3).to receive(:add_comment) expect(d3).to receive(:add_comment)
expect(Asana::Task).to receive(:find_by_id).with(anything, '789').once.and_return(d3) expect(Asana::Task).to receive(:find_by_id).with(anything, '789').once.and_return(d3)
d4 = double('Asana::Task', add_comment: true) d4 = double('Asana::Task')
expect(d4).to receive(:add_comment) expect(d4).to receive(:add_comment)
expect(Asana::Task).to receive(:find_by_id).with(anything, '42').once.and_return(d4) expect(Asana::Task).to receive(:find_by_id).with(anything, '42').once.and_return(d4)
d5 = double('Asana::Task', add_comment: true) d5 = double('Asana::Task')
expect(d5).to receive(:add_comment) expect(d5).to receive(:add_comment)
expect(d5).to receive(:update).with(completed: true) expect(d5).to receive(:update).with(completed: true)
expect(Asana::Task).to receive(:find_by_id).with(anything, '12').once.and_return(d5) expect(Asana::Task).to receive(:find_by_id).with(anything, '12').once.and_return(d5)
message = <<-EOF @asana.execute(data)
minor bigfix, refactoring, fixed #123 and Closes #456 work on #789
ref https://app.asana.com/19292/956299/42 and closing https://app.asana.com/19292/956299/12
EOF
@asana.check_commit(message, 'pushed')
end end
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment