diff options
Diffstat (limited to 'spec/requests/api/feature_flags_user_lists_spec.rb')
-rw-r--r-- | spec/requests/api/feature_flags_user_lists_spec.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/requests/api/feature_flags_user_lists_spec.rb b/spec/requests/api/feature_flags_user_lists_spec.rb index 469210040dd..e2a3f92df10 100644 --- a/spec/requests/api/feature_flags_user_lists_spec.rb +++ b/spec/requests/api/feature_flags_user_lists_spec.rb @@ -95,6 +95,39 @@ RSpec.describe API::FeatureFlagsUserLists do expect(response).to have_gitlab_http_status(:ok) expect(json_response).to eq([]) end + + context 'when filtering' do + it 'returns lists matching the search term' do + create_list(name: 'test_list', user_xids: 'user1') + create_list(name: 'list_b', user_xids: 'user1,user2,user3') + + get api("/projects/#{project.id}/feature_flags_user_lists?search=test", developer) + + expect(response).to have_gitlab_http_status(:ok) + expect(json_response.map { |list| list['name'] }).to eq(['test_list']) + end + + it 'returns lists matching multiple search terms' do + create_list(name: 'test_list', user_xids: 'user1') + create_list(name: 'list_b', user_xids: 'user1,user2,user3') + create_list(name: 'test_again', user_xids: 'user1,user2,user3') + + get api("/projects/#{project.id}/feature_flags_user_lists?search=test list", developer) + + expect(response).to have_gitlab_http_status(:ok) + expect(json_response.map { |list| list['name'] }).to eq(['test_list']) + end + + it 'returns all lists with no query' do + create_list(name: 'list_a', user_xids: 'user1') + create_list(name: 'list_b', user_xids: 'user1,user2,user3') + + get api("/projects/#{project.id}/feature_flags_user_lists?search=", developer) + + expect(response).to have_gitlab_http_status(:ok) + expect(json_response.map { |list| list['name'] }.sort).to eq(%w[list_a list_b]) + end + end end describe 'GET /projects/:id/feature_flags_user_lists/:iid' do |