Apply similar change to MRs API
This commit is contained in:
parent
227e30f7fe
commit
006631f882
5 changed files with 27 additions and 2 deletions
|
@ -135,6 +135,7 @@ class IssuesFinder < IssuableFinder
|
|||
current_user.blank?
|
||||
end
|
||||
|
||||
# rubocop: disable CodeReuse/ActiveRecord
|
||||
def by_assignee(items)
|
||||
if filter_by_no_assignee?
|
||||
items.unassigned
|
||||
|
|
|
@ -42,7 +42,7 @@ module API
|
|||
optional :author_id, type: Integer, desc: 'Return issues which are authored by the user with the given ID'
|
||||
optional :assignee_id, types: [Integer, String],
|
||||
values: -> (v) {
|
||||
v.is_a?(Integer) or [IssuableFinder::FILTER_NONE, IssuableFinder::FILTER_ANY].include?(v)
|
||||
v.is_a?(Integer) || [IssuableFinder::FILTER_NONE, IssuableFinder::FILTER_ANY].include?(v)
|
||||
},
|
||||
desc: 'Return issues which are assigned to the user with the given ID'
|
||||
optional :scope, type: String, values: %w[created-by-me assigned-to-me created_by_me assigned_to_me all],
|
||||
|
|
|
@ -89,7 +89,11 @@ module API
|
|||
optional :updated_before, type: DateTime, desc: 'Return merge requests updated before the specified time'
|
||||
optional :view, type: String, values: %w[simple], desc: 'If simple, returns the `iid`, URL, title, description, and basic state of merge request'
|
||||
optional :author_id, type: Integer, desc: 'Return merge requests which are authored by the user with the given ID'
|
||||
optional :assignee_id, type: Integer, desc: 'Return merge requests which are assigned to the user with the given ID'
|
||||
optional :assignee_id, types: [Integer, String],
|
||||
values: -> (v) {
|
||||
v.is_a?(Integer) || [IssuableFinder::FILTER_NONE, IssuableFinder::FILTER_ANY].include?(v)
|
||||
},
|
||||
desc: 'Return merge requests which are assigned to the user with the given ID'
|
||||
optional :scope, type: String, values: %w[created-by-me assigned-to-me created_by_me assigned_to_me all],
|
||||
desc: 'Return merge requests for the given scope: `created_by_me`, `assigned_to_me` or `all`'
|
||||
optional :my_reaction_emoji, type: String, desc: 'Return issues reacted by the authenticated user by the given emoji'
|
||||
|
|
|
@ -188,6 +188,9 @@ describe API::Issues do
|
|||
end
|
||||
|
||||
it 'returns issues with any assignee' do
|
||||
# This issue without assignee should not be returned
|
||||
create(:issue, author: user2, project: project)
|
||||
|
||||
get api('/issues', user), assignee_id: 'Any', scope: 'all'
|
||||
|
||||
expect_paginated_array_response(size: 3)
|
||||
|
|
|
@ -143,6 +143,23 @@ describe API::MergeRequests do
|
|||
expect_response_ordered_exactly(merge_request3)
|
||||
end
|
||||
|
||||
it 'returns an array of merge requests with no assignee' do
|
||||
merge_request3 = create(:merge_request, :simple, author: user, source_project: project2, target_project: project2, source_branch: 'other-branch')
|
||||
|
||||
get api('/merge_requests', user), assignee_id: 'None', scope: :all
|
||||
|
||||
expect_response_ordered_exactly(merge_request3)
|
||||
end
|
||||
|
||||
it 'returns an array of merge requests with any assignee' do
|
||||
# This MR with no assignee should not be returned
|
||||
create(:merge_request, :simple, author: user, source_project: project2, target_project: project2, source_branch: 'other-branch')
|
||||
|
||||
get api('/merge_requests', user), assignee_id: 'Any', scope: :all
|
||||
|
||||
expect_response_contain_exactly(merge_request, merge_request2, merge_request_closed, merge_request_merged, merge_request_locked)
|
||||
end
|
||||
|
||||
it 'returns an array of merge requests assigned to me' do
|
||||
merge_request3 = create(:merge_request, :simple, author: user, assignee: user2, source_project: project2, target_project: project2, source_branch: 'other-branch')
|
||||
|
||||
|
|
Loading…
Reference in a new issue