Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/helpers/projects/error_tracking_helper_spec.rb')
-rw-r--r--spec/helpers/projects/error_tracking_helper_spec.rb53
1 files changed, 42 insertions, 11 deletions
diff --git a/spec/helpers/projects/error_tracking_helper_spec.rb b/spec/helpers/projects/error_tracking_helper_spec.rb
index 882031a9c86..f49458be40d 100644
--- a/spec/helpers/projects/error_tracking_helper_spec.rb
+++ b/spec/helpers/projects/error_tracking_helper_spec.rb
@@ -5,8 +5,8 @@ require 'spec_helper'
RSpec.describe Projects::ErrorTrackingHelper do
include Gitlab::Routing.url_helpers
- let_it_be(:project, reload: true) { create(:project) }
- let_it_be(:current_user) { create(:user) }
+ let(:project) { build_stubbed(:project) }
+ let(:current_user) { build_stubbed(:user) }
describe '#error_tracking_data' do
let(:can_enable_error_tracking) { true }
@@ -34,20 +34,21 @@ RSpec.describe Projects::ErrorTrackingHelper do
'error-tracking-enabled' => 'false',
'list-path' => list_path,
'project-path' => project_path,
- 'illustration-path' => match_asset_path('/assets/illustrations/cluster_popover.svg')
+ 'illustration-path' => match_asset_path('/assets/illustrations/cluster_popover.svg'),
+ 'show-integrated-tracking-disabled-alert' => 'false'
)
end
end
context 'with error_tracking_setting' do
- let(:error_tracking_setting) do
- create(:project_error_tracking_setting, project: project)
+ let(:project) { build_stubbed(:project, :with_error_tracking_setting) }
+
+ before do
+ project.error_tracking_setting.enabled = enabled
end
context 'when enabled' do
- before do
- error_tracking_setting.update!(enabled: true)
- end
+ let(:enabled) { true }
it 'show error tracking enabled' do
expect(helper.error_tracking_data(current_user, project)).to include(
@@ -57,9 +58,7 @@ RSpec.describe Projects::ErrorTrackingHelper do
end
context 'when disabled' do
- before do
- error_tracking_setting.update!(enabled: false)
- end
+ let(:enabled) { false }
it 'show error tracking not enabled' do
expect(helper.error_tracking_data(current_user, project)).to include(
@@ -67,6 +66,38 @@ RSpec.describe Projects::ErrorTrackingHelper do
)
end
end
+
+ context 'with integrated error tracking feature' do
+ using RSpec::Parameterized::TableSyntax
+
+ where(:feature_flag, :enabled, :integrated, :show_alert) do
+ false | true | true | true
+ false | true | false | false
+ false | false | true | false
+ false | false | false | false
+ true | true | true | false
+ true | true | false | false
+ true | false | true | false
+ true | false | false | false
+ end
+
+ with_them do
+ before do
+ stub_feature_flags(integrated_error_tracking: feature_flag)
+
+ project.error_tracking_setting.attributes = {
+ enabled: enabled,
+ integrated: integrated
+ }
+ end
+
+ specify do
+ expect(helper.error_tracking_data(current_user, project)).to include(
+ 'show-integrated-tracking-disabled-alert' => show_alert.to_s
+ )
+ end
+ end
+ end
end
context 'when user is not maintainer' do