diff options
author | Alexandru Croitor <acroitor@gitlab.com> | 2019-03-01 16:37:22 +0200 |
---|---|---|
committer | Alexandru Croitor <acroitor@gitlab.com> | 2019-03-06 13:28:42 +0200 |
commit | be3578d24585c7f330103cc546eb50416cd951d3 (patch) | |
tree | e423c5fac61e5f25e05c5cfc5f2853623f7deaa2 /spec/support | |
parent | ee8cb2d1b37c5c0d990a35af29be2877092eef29 (diff) | |
download | gitlab-ce-be3578d24585c7f330103cc546eb50416cd951d3.tar.gz |
Add array support for labels
* Support label parameter as comma separated and array of strings
for merge requests and issues api endpoints
Diffstat (limited to 'spec/support')
-rw-r--r-- | spec/support/shared_examples/requests/api/merge_requests_list.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/support/shared_examples/requests/api/merge_requests_list.rb b/spec/support/shared_examples/requests/api/merge_requests_list.rb index 6713ec47ace..32e3b81c3c5 100644 --- a/spec/support/shared_examples/requests/api/merge_requests_list.rb +++ b/spec/support/shared_examples/requests/api/merge_requests_list.rb @@ -186,6 +186,37 @@ shared_examples 'merge requests list' do expect(json_response.length).to eq(0) end + it 'returns an array of labeled merge requests where all labels match' do + path = endpoint_path + "?labels[]=#{label.title}&labels[]=#{label2.title}" + + get api(path, user) + + expect(response).to have_gitlab_http_status(200) + expect(json_response).to be_an Array + expect(json_response.length).to eq(1) + expect(json_response.first['labels']).to eq([label2.title, label.title]) + end + + it 'returns an array of merge requests with any label when filtering by any label' do + get api(endpoint_path, user), params: { labels: [" #{label.title} ", " #{label2.title} "] } + + expect_paginated_array_response + expect(json_response).to be_an Array + expect(json_response.length).to eq(1) + expect(json_response.first['labels']).to eq([label2.title, label.title]) + expect(json_response.first['id']).to eq(merge_request.id) + end + + it 'returns an array of merge requests with any label when filtering by any label' do + get api(endpoint_path, user), params: { labels: ["#{label.title} , #{label2.title}"] } + + expect_paginated_array_response + expect(json_response).to be_an Array + expect(json_response.length).to eq(1) + expect(json_response.first['labels']).to eq([label2.title, label.title]) + expect(json_response.first['id']).to eq(merge_request.id) + end + it 'returns an array of merge requests with any label when filtering by any label' do get api(endpoint_path, user), params: { labels: IssuesFinder::FILTER_ANY } |