summaryrefslogtreecommitdiff
path: root/spec/features/usage_stats_consent_spec.rb
diff options
context:
space:
mode:
authorMartin Wortschack <mwortschack@gitlab.com>2018-09-11 08:43:10 +0200
committerMartin Wortschack <mwortschack@gitlab.com>2018-09-11 08:43:10 +0200
commita2f7936c74e6c9c4eed7b1c5641f0c43d4ff1375 (patch)
tree82b1ea27fe2a9a1be884467e10d9bde688ce97d1 /spec/features/usage_stats_consent_spec.rb
parentbfd2181310097f5c0a92a43ffc2b7b9540b96ad3 (diff)
parent2f990e3408d00cad473d8dcf8a4e49155cc3cc33 (diff)
downloadgitlab-ce-a2f7936c74e6c9c4eed7b1c5641f0c43d4ff1375.tar.gz
merge master and resolve conflicts
Diffstat (limited to 'spec/features/usage_stats_consent_spec.rb')
-rw-r--r--spec/features/usage_stats_consent_spec.rb45
1 files changed, 45 insertions, 0 deletions
diff --git a/spec/features/usage_stats_consent_spec.rb b/spec/features/usage_stats_consent_spec.rb
new file mode 100644
index 00000000000..dd8f3179895
--- /dev/null
+++ b/spec/features/usage_stats_consent_spec.rb
@@ -0,0 +1,45 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe 'Usage stats consent' do
+ context 'when signed in' do
+ let(:user) { create(:admin, created_at: 8.days.ago) }
+ let(:message) { 'To help improve GitLab, we would like to periodically collect usage information.' }
+
+ before do
+ allow(user).to receive(:has_current_license?).and_return false
+
+ gitlab_sign_in(user)
+ end
+
+ it 'hides the banner permanently when sets usage stats' do
+ visit root_dashboard_path
+
+ expect(page).to have_content(message)
+
+ click_link 'Send usage data'
+
+ expect(page).not_to have_content(message)
+ expect(page).to have_content('Application settings saved successfully')
+
+ gitlab_sign_out
+ gitlab_sign_in(user)
+ visit root_dashboard_path
+
+ expect(page).not_to have_content(message)
+ end
+
+ it 'shows banner on next session if user did not set usage stats' do
+ visit root_dashboard_path
+
+ expect(page).to have_content(message)
+
+ gitlab_sign_out
+ gitlab_sign_in(user)
+ visit root_dashboard_path
+
+ expect(page).to have_content(message)
+ end
+ end
+end