summaryrefslogtreecommitdiff
path: root/spec/tasks
diff options
context:
space:
mode:
authorGabriel Mazetto <brodock@gmail.com>2018-08-15 01:40:29 +0200
committerGabriel Mazetto <brodock@gmail.com>2018-08-16 21:31:19 +0200
commit1a54986c166fb13a6a27afcafaa055e1a1749e38 (patch)
tree46e6f80a4726f3402bd4b5de28d55c8f83caf9f1 /spec/tasks
parent696a5fce687364ec718eeef44d923a686c9e1624 (diff)
downloadgitlab-ce-1a54986c166fb13a6a27afcafaa055e1a1749e38.tar.gz
Refactor SiteStatistics to extract refresh logic into a rake task
Diffstat (limited to 'spec/tasks')
-rw-r--r--spec/tasks/gitlab/site_statistics_rake_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/tasks/gitlab/site_statistics_rake_spec.rb b/spec/tasks/gitlab/site_statistics_rake_spec.rb
new file mode 100644
index 00000000000..20f0df65e63
--- /dev/null
+++ b/spec/tasks/gitlab/site_statistics_rake_spec.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+require 'rake_helper'
+
+describe 'rake gitlab:refresh_site_statistics' do
+ before do
+ Rake.application.rake_require 'tasks/gitlab/site_statistics'
+
+ create(:project)
+ SiteStatistic.fetch.update(repositories_count: 0, wikis_count: 0)
+ end
+
+ let(:task) { 'gitlab:refresh_site_statistics' }
+
+ it 'recalculates existing counters' do
+ run_rake_task(task)
+
+ expect(SiteStatistic.fetch.repositories_count).to eq(1)
+ expect(SiteStatistic.fetch.wikis_count).to eq(1)
+ end
+
+ it 'displays message listing counters' do
+ expect { run_rake_task(task) }.to output(/Updating Site Statistics counters:.* Repositories\.\.\. OK!.* Wikis\.\.\. OK!/m).to_stdout
+ end
+end