summaryrefslogtreecommitdiff
path: root/spec/requests/api/group_milestones_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/api/group_milestones_spec.rb')
-rw-r--r--spec/requests/api/group_milestones_spec.rb24
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