Commit 8bfddb7a authored by Jan Provaznik's avatar Jan Provaznik

Merge branch 'fix-insights-note-bug' into 'master'

Fix insights notice text with YAML anchors

See merge request gitlab-org/gitlab!31570
parents 048dc0f5 b9e1b9cf
---
title: Fix incorrect notice text on insights page
merge_request: 31570
author:
type: fixed
......@@ -7,7 +7,7 @@ module Gitlab
def initialize(project:, insights_config:)
@project = project
@insights_config = insights_config.deep_dup
@insights_config = insights_config_without_invalid_entries(insights_config.deep_dup)
end
def filtered_config
......@@ -33,6 +33,11 @@ module Gitlab
def includes_project?(project_ids_or_paths)
project_ids_or_paths.any? { |item| item == project.id || item == project.full_path }
end
# filtering out leftover YAML anchor keys
def insights_config_without_invalid_entries(config)
config.reject { |_, page_config| page_config[:title].nil? && page_config[:charts].nil? }
end
end
end
end
......@@ -30,6 +30,20 @@ describe Gitlab::Insights::ProjectInsightsConfig do
subject { described_class.new(project: project, insights_config: config) }
context 'filtering out invalid config entries' do
let(:config_with_invalid_entry) { config.merge(".projectOnly": { projects: { only: [] } }) }
subject { described_class.new(project: project, insights_config: config_with_invalid_entry) }
it 'does not include invalid entry' do
expect(subject.filtered_config).to eq(config)
end
it 'does not show notice text' do
expect(subject.notice_text).to eq(nil)
end
end
context 'when no projects.only filter present' do
it 'does not change the config' do
expect(subject.filtered_config).to eq(config)
......@@ -51,7 +65,7 @@ describe Gitlab::Insights::ProjectInsightsConfig do
expect(subject.filtered_config[:item1][:charts]).to eq([chart1])
end
it 'has notice text' do
it 'does not have a notice text' do
expect(subject.notice_text).not_to eq(nil)
end
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment