diff options
author | Tristan Read <tread@gitlab.com> | 2018-12-13 16:55:43 +0100 |
---|---|---|
committer | Peter Leitzen <pleitzen@gitlab.com> | 2019-01-07 19:09:49 +0100 |
commit | 7380ed309a14bfcaa9a0fc87433e50c01c8b43fd (patch) | |
tree | d2a9613bc3c9beb056cfc10f3aa0d4eafba076c6 | |
parent | 0c1d6be13cb52afb32d23d625a6400e28f0a991e (diff) | |
download | gitlab-ce-7380ed309a14bfcaa9a0fc87433e50c01c8b43fd.tar.gz |
Add view and feature test for error tracking settings
-rw-r--r-- | app/helpers/projects_helper.rb | 1 | ||||
-rw-r--r-- | spec/features/projects/settings/operations_settings_spec.rb | 39 | ||||
-rw-r--r-- | spec/views/projects/settings/operations/show.html.haml_spec.rb | 39 |
3 files changed, 79 insertions, 0 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index af7a262e32c..e23e6ec49e4 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -549,6 +549,7 @@ module ProjectsHelper services#edit repository#show ci_cd#show + operations#show badges#index pages#show ] diff --git a/spec/features/projects/settings/operations_settings_spec.rb b/spec/features/projects/settings/operations_settings_spec.rb new file mode 100644 index 00000000000..1f2328a6dd8 --- /dev/null +++ b/spec/features/projects/settings/operations_settings_spec.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe 'Projects > Settings > For a forked project', :js do + let(:user) { create(:user) } + let(:project) { create(:project, :repository) } + let(:role) { :maintainer } + + before do + stub_feature_flags(error_tracking: true) + sign_in(user) + project.add_role(user, role) + end + + describe 'Sidebar > Operations' do + context 'when sidebar feature flag enabled' do + it 'renders the settings link in the sidebar' do + visit project_path(project) + wait_for_requests + + expect(page).to have_selector('a[title="Operations"]', visible: false) + end + end + + context 'when sidebar feature flag disabled' do + before do + stub_feature_flags(error_tracking: false) + end + + it 'does not render the settings link in the sidebar' do + visit project_path(project) + wait_for_requests + + expect(page).not_to have_selector('a[title="Operations"]', visible: false) + end + end + end +end diff --git a/spec/views/projects/settings/operations/show.html.haml_spec.rb b/spec/views/projects/settings/operations/show.html.haml_spec.rb new file mode 100644 index 00000000000..752fd82c5e8 --- /dev/null +++ b/spec/views/projects/settings/operations/show.html.haml_spec.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require 'spec_helper' +require 'rails_helper' + +describe 'projects/settings/operations/show' do + let(:project) { create(:project) } + let(:user) { create(:user) } + + before do + assign :project, project + end + + describe 'Operations > Error Tracking' do + before do + stub_feature_flags(error_tracking: true) + + project.add_reporter(user) + + allow(view).to receive(:error_tracking_setting) + .and_return(error_tracking_setting) + allow(view).to receive(:current_user).and_return(user) + end + + let!(:error_tracking_setting) do + create(:project_error_tracking_setting, project: project) + end + + context 'Settings page ' do + it 'renders the Operations Settings page' do + render + + expect(rendered).to have_content _('Error Tracking') + expect(rendered).to have_content _('To link Sentry to GitLab, enter your Sentry URL and Auth Token') + expect(rendered).to have_content _('Active') + end + end + end +end |