summaryrefslogtreecommitdiff
path: root/spec/lib
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2016-11-24 16:12:30 +0100
committerJames Lopez <james@jameslopez.es>2017-02-06 15:24:50 +0100
commit2e54454e6165a34004678eb45de3530f26a2ae2a (patch)
treea0b243bb62b870709e506eb00eeebc9cc361f727 /spec/lib
parent178626ed6114055d756c7d4a13d5f5eec8fa2a85 (diff)
downloadgitlab-ce-2e54454e6165a34004678eb45de3530f26a2ae2a.tar.gz
Add limit to the number of events showed in cycle analytics and spec
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/gitlab/cycle_analytics/events_query_spec.rb35
1 files changed, 35 insertions, 0 deletions
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 00000000000..c00e71f6672
--- /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