|
525 | 525 | end
|
526 | 526 | end
|
527 | 527 |
|
| 528 | + describe 'GET /projects/:id/merge_requests/:merge_request_iid/pipelines' do |
| 529 | + context 'when authorized' do |
| 530 | + let!(:pipeline) { create(:ci_empty_pipeline, project: project, user: user, ref: merge_request.source_branch, sha: merge_request.diff_head_sha) } |
| 531 | + let!(:pipeline2) { create(:ci_empty_pipeline, project: project) } |
| 532 | + |
| 533 | + it 'returns a paginated array of corresponding pipelines' do |
| 534 | + get api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/pipelines") |
| 535 | + |
| 536 | + expect(response).to have_gitlab_http_status(200) |
| 537 | + expect(response).to include_pagination_headers |
| 538 | + expect(json_response).to be_an Array |
| 539 | + expect(json_response.count).to eq(1) |
| 540 | + expect(json_response.first['id']).to eq(pipeline.id) |
| 541 | + end |
| 542 | + |
| 543 | + it 'exposes basic attributes' do |
| 544 | + get api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/pipelines") |
| 545 | + |
| 546 | + expect(response).to have_gitlab_http_status(200) |
| 547 | + expect(response).to match_response_schema('public_api/v4/pipelines') |
| 548 | + end |
| 549 | + end |
| 550 | + |
| 551 | + context 'when unauthorized' do |
| 552 | + it 'returns 403' do |
| 553 | + project = create(:project, public_builds: false) |
| 554 | + merge_request = create(:merge_request, :simple, source_project: project) |
| 555 | + guest = create(:user) |
| 556 | + project.team << [guest, :guest] |
| 557 | + |
| 558 | + get api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/pipelines", guest) |
| 559 | + |
| 560 | + expect(response).to have_gitlab_http_status(403) |
| 561 | + end |
| 562 | + end |
| 563 | + end |
| 564 | + |
528 | 565 | describe "POST /projects/:id/merge_requests" do
|
529 | 566 | context 'between branches projects' do
|
530 | 567 | it "returns merge_request" do
|
|
0 commit comments