|
64 | 64 |
|
65 | 65 | it do
|
66 | 66 | @project = project
|
67 |
| - |
| 67 | + |
68 | 68 | is_expected.to eq("#1, #2, and #{other_project.namespace.path}/#{other_project.path}#3")
|
69 | 69 | end
|
70 | 70 | end
|
|
149 | 149 | end
|
150 | 150 | end
|
151 | 151 |
|
| 152 | + describe '#target_projects' do |
| 153 | + let(:project) { create(:empty_project) } |
| 154 | + let(:fork_project) { create(:empty_project, forked_from_project: project) } |
| 155 | + |
| 156 | + context 'when target project has enabled merge requests' do |
| 157 | + it 'returns the forked_from project' do |
| 158 | + expect(target_projects(fork_project)).to contain_exactly(project, fork_project) |
| 159 | + end |
| 160 | + end |
| 161 | + |
| 162 | + context 'when target project has disabled merge requests' do |
| 163 | + it 'returns the forked project' do |
| 164 | + project.project_feature.update(merge_requests_access_level: 0) |
| 165 | + |
| 166 | + expect(target_projects(fork_project)).to contain_exactly(fork_project) |
| 167 | + end |
| 168 | + end |
| 169 | + end |
| 170 | + |
| 171 | + describe '#new_mr_path_from_push_event' do |
| 172 | + subject(:url_params) { URI.decode_www_form(new_mr_path_from_push_event(event)).to_h } |
| 173 | + let(:user) { create(:user) } |
| 174 | + let(:project) { create(:empty_project, creator: user) } |
| 175 | + let(:fork_project) { create(:project, forked_from_project: project, creator: user) } |
| 176 | + let(:event) do |
| 177 | + push_data = Gitlab::DataBuilder::Push.build_sample(fork_project, user) |
| 178 | + create(:event, :pushed, project: fork_project, target: fork_project, author: user, data: push_data) |
| 179 | + end |
| 180 | + |
| 181 | + context 'when target project has enabled merge requests' do |
| 182 | + it 'returns link to create merge request on source project' do |
| 183 | + expect(url_params['merge_request[target_project_id]'].to_i).to eq(project.id) |
| 184 | + end |
| 185 | + end |
| 186 | + |
| 187 | + context 'when target project has disabled merge requests' do |
| 188 | + it 'returns link to create merge request on forked project' do |
| 189 | + project.project_feature.update(merge_requests_access_level: 0) |
| 190 | + |
| 191 | + expect(url_params['merge_request[target_project_id]'].to_i).to eq(fork_project.id) |
| 192 | + end |
| 193 | + end |
| 194 | + end |
| 195 | + |
152 | 196 | describe '#mr_issues_mentioned_but_not_closing' do
|
153 | 197 | let(:user_1) { create(:user) }
|
154 | 198 | let(:user_2) { create(:user) }
|
|
0 commit comments