blob: d9ad9a585f0ae6fd0f05612679a25418a0affbbf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
require 'spec_helper'
require Rails.root.join('db', 'migrate', '20170713104829_add_foreign_key_to_merge_requests.rb')
describe AddForeignKeyToMergeRequests, :migration do
let(:projects) { table(:projects) }
let(:merge_requests) { table(:merge_requests) }
let(:pipelines) { table(:ci_pipelines) }
before do
projects.create!(name: 'gitlab', path: 'gitlab-org/gitlab-ce')
pipelines.create!(project_id: projects.first.id,
ref: 'some-branch',
sha: 'abc12345')
# merge request without a pipeline
create_merge_request(head_pipeline_id: nil)
# merge request with non-existent pipeline
create_merge_request(head_pipeline_id: 1234)
# merge reqeust with existing pipeline assigned
create_merge_request(head_pipeline_id: pipelines.first.id)
end
it 'correctly adds a foreign key to head_pipeline_id' do
migrate!
expect(merge_requests.first.head_pipeline_id).to be_nil
expect(merge_requests.second.head_pipeline_id).to be_nil
expect(merge_requests.third.head_pipeline_id).to eq pipelines.first.id
end
def create_merge_request(**opts)
merge_requests.create!(source_project_id: projects.first.id,
target_project_id: projects.first.id,
source_branch: 'some-branch',
target_branch: 'master', **opts)
end
end
|