diff options
Diffstat (limited to 'spec/requests/api/group_milestones_spec.rb')
-rw-r--r-- | spec/requests/api/group_milestones_spec.rb | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/spec/requests/api/group_milestones_spec.rb b/spec/requests/api/group_milestones_spec.rb index 7ed6e1a295f..e3e0164e5a7 100644 --- a/spec/requests/api/group_milestones_spec.rb +++ b/spec/requests/api/group_milestones_spec.rb @@ -20,7 +20,7 @@ RSpec.describe API::GroupMilestones do let_it_be(:params) { { include_parent_milestones: true } } before_all do - group.update(parent: ancestor_group) + group.update!(parent: ancestor_group) end shared_examples 'listing all milestones' do @@ -64,10 +64,28 @@ RSpec.describe API::GroupMilestones do end end + describe 'GET /groups/:id/milestones/:milestone_id/issues' do + let!(:issue) { create(:issue, project: project, milestone: milestone) } + + def perform_request + get api("/groups/#{group.id}/milestones/#{milestone.id}/issues", user) + end + + it 'returns multiple issues without performing N + 1' do + perform_request + + control_count = ActiveRecord::QueryRecorder.new { perform_request }.count + + create(:issue, project: project, milestone: milestone) + + expect { perform_request }.not_to exceed_query_limit(control_count) + end + end + def setup_for_group - context_group.update(visibility_level: Gitlab::VisibilityLevel::PUBLIC) + context_group.update!(visibility_level: Gitlab::VisibilityLevel::PUBLIC) context_group.add_developer(user) - public_project.update(namespace: context_group) + public_project.update!(namespace: context_group) context_group.reload end end |