summaryrefslogtreecommitdiff
path: root/spec/models
diff options
context:
space:
mode:
authorOswaldo Ferreira <oswaldo@gitlab.com>2017-08-10 18:01:01 -0300
committerOswaldo Ferreira <oswaldo@gitlab.com>2017-08-28 15:48:09 -0300
commit4f17c6b7633c65a9d51dbcd9193914013707e226 (patch)
tree8c4523f15e7b40a9b7852cc5413669144370f263 /spec/models
parentd7f61bae8b498a09180bb7e782a687ae2d0c3bae (diff)
downloadgitlab-ce-4f17c6b7633c65a9d51dbcd9193914013707e226.tar.gz
Track enqueued and ongoing MRs
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/merge_request_spec.rb39
1 files changed, 19 insertions, 20 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index 2d10c6ef1da..de2f6c2139d 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -931,6 +931,23 @@ describe MergeRequest do
end
end
+ describe '#async_merge' do
+ it 'enqueues MergeWorker job and updates merge_jid' do
+ merge_request = create(:merge_request)
+ user_id = double(:user_id)
+ params = double(:params)
+ merge_jid = 'hash-123'
+
+ expect(MergeWorker).to receive(:perform_async).with(merge_request.id, user_id, params) do
+ merge_jid
+ end
+
+ merge_request.async_merge(user_id, params)
+
+ expect(merge_request.reload.merge_jid).to eq(merge_jid)
+ end
+ end
+
describe '#check_if_can_be_merged' do
let(:project) { create(:project, only_allow_merge_if_pipeline_succeeds: true) }
@@ -1370,29 +1387,11 @@ describe MergeRequest do
end
describe '#merge_ongoing?' do
- it 'returns true when merge process is ongoing for merge_jid' do
- merge_request = create(:merge_request, merge_jid: 'foo')
-
- allow(Gitlab::SidekiqStatus).to receive(:num_running).with(['foo']).and_return(1)
+ it 'returns true when merge_id is present and MR is not merged' do
+ merge_request = build_stubbed(:merge_request, state: :open, merge_jid: 'foo')
expect(merge_request.merge_ongoing?).to be(true)
end
-
- it 'returns false when no merge process running for merge_jid' do
- merge_request = build(:merge_request, merge_jid: 'foo')
-
- allow(Gitlab::SidekiqStatus).to receive(:num_running).with(['foo']).and_return(0)
-
- expect(merge_request.merge_ongoing?).to be(false)
- end
-
- it 'returns false when merge_jid is nil' do
- merge_request = build(:merge_request, merge_jid: nil)
-
- expect(Gitlab::SidekiqStatus).not_to receive(:num_running)
-
- expect(merge_request.merge_ongoing?).to be(false)
- end
end
describe "#closed_without_fork?" do