diff --git a/bin/changelog b/bin/changelog index 4c894f8ff5bfaba3866554d92f74aa7d853f8a1c..70be405813701c20f017a73c01e736597b986fb4 100755 --- a/bin/changelog +++ b/bin/changelog @@ -80,6 +80,8 @@ class ChangelogEntry unless options.dry_run write + %x{git add #{file_path}} + amend_commit if options.amend end end diff --git a/changelogs/unreleased/fix-cycle-analytics-events-limit.yml b/changelogs/unreleased/fix-cycle-analytics-events-limit.yml new file mode 100644 index 0000000000000000000000000000000000000000..152b37ca4308fe19db1929c197f827d66c582b26 --- /dev/null +++ b/changelogs/unreleased/fix-cycle-analytics-events-limit.yml @@ -0,0 +1,4 @@ +--- +title: Add limit to the number of events showed in cycle analytics +merge_request: +author: diff --git a/spec/lib/gitlab/cycle_analytics/events_query_spec.rb b/spec/lib/gitlab/cycle_analytics/events_query_spec.rb new file mode 100644 index 0000000000000000000000000000000000000000..c00e71f66721a9bdd714a1d641c2cf1af81737ea --- /dev/null +++ b/spec/lib/gitlab/cycle_analytics/events_query_spec.rb @@ -0,0 +1,35 @@ +require 'spec_helper' + +describe Gitlab::CycleAnalytics::EventsQuery do + let(:max_events) { 3 } + let(:project) { create(:project) } + let(:user) { create(:user, :admin) } + let(:options) { { from: 30.days.ago } } + + let(:issue_event) do + Gitlab::CycleAnalytics::IssueEvent.new(project: project, options: options) + end + + subject { described_class.new(project: project, options: options).execute(issue_event) } + + before do + allow_any_instance_of(Gitlab::ReferenceExtractor).to receive(:issues).and_return(Issue.all) + stub_const('Gitlab::CycleAnalytics::EventsQuery::MAX_EVENTS', max_events) + + setup_events(count: 5) + end + + it 'limits the rows the max number' do + expect(subject.count).to eq(max_events) + end + + def setup_events(count:) + count.times do + issue = create(:issue, project: project, created_at: 2.days.ago) + milestone = create(:milestone, project: project) + + issue.update(milestone: milestone) + create_merge_request_closing_issue(issue) + end + end +end