Apply similar change to MRs API
This commit is contained in:
parent
227e30f7fe
commit
006631f882
|
@ -135,6 +135,7 @@ class IssuesFinder < IssuableFinder
|
||||||
current_user.blank?
|
current_user.blank?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# rubocop: disable CodeReuse/ActiveRecord
|
||||||
def by_assignee(items)
|
def by_assignee(items)
|
||||||
if filter_by_no_assignee?
|
if filter_by_no_assignee?
|
||||||
items.unassigned
|
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 :author_id, type: Integer, desc: 'Return issues which are authored by the user with the given ID'
|
||||||
optional :assignee_id, types: [Integer, String],
|
optional :assignee_id, types: [Integer, String],
|
||||||
values: -> (v) {
|
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'
|
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],
|
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 :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 :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 :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],
|
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`'
|
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'
|
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
|
end
|
||||||
|
|
||||||
it 'returns issues with any assignee' do
|
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'
|
get api('/issues', user), assignee_id: 'Any', scope: 'all'
|
||||||
|
|
||||||
expect_paginated_array_response(size: 3)
|
expect_paginated_array_response(size: 3)
|
||||||
|
|
|
@ -143,6 +143,23 @@ describe API::MergeRequests do
|
||||||
expect_response_ordered_exactly(merge_request3)
|
expect_response_ordered_exactly(merge_request3)
|
||||||
end
|
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
|
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')
|
merge_request3 = create(:merge_request, :simple, author: user, assignee: user2, source_project: project2, target_project: project2, source_branch: 'other-branch')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue