Skip to content
Snippets Groups Projects
Commit 450c79fd authored by Fabio Pitino's avatar Fabio Pitino :two:
Browse files

Merge branch '393929-metrics-delete-ui-for-monitor-menu' into 'master'

Remove Metrics from main navigation

See merge request !121058



Merged-by: Fabio Pitino's avatarFabio Pitino <fpitino@gitlab.com>
Approved-by: Lukas Eipert's avatarLukas 'Eipi' Eipert <leipert@gitlab.com>
Approved-by: default avatarSerena Fang <sfang@gitlab.com>
Approved-by: Fabio Pitino's avatarFabio Pitino <fpitino@gitlab.com>
Co-authored-by: default avatarpsjakubowska <psedlak-jakubowska@gitlab.com>
parents 41df6f25 3f95bb47
No related branches found
No related tags found
1 merge request!121058Remove Metrics from main navigation
Pipeline #876038702 passed
Showing
with 2 additions and 75 deletions
......@@ -31,8 +31,6 @@
allow(project).to receive(:licensed_feature_available?).and_return true
# Needed to show Container Registry items
allow(::Gitlab.config.registry).to receive(:enabled).and_return(true)
# This feature flag removes the monitor metrics menu item, so turn it off
stub_feature_flags(remove_monitor_metrics: false)
# Iterations are only available in non-personal projects
allow(project).to receive(:personal?).and_return(false)
end
......
......@@ -8,7 +8,6 @@ class MonitorMenu < ::Sidebars::Menu
def configure_menu_items
return false unless feature_enabled?
add_item(metrics_dashboard_menu_item)
add_item(error_tracking_menu_item)
add_item(alert_management_menu_item)
add_item(incidents_menu_item)
......@@ -49,23 +48,6 @@ def feature_enabled?
context.project.feature_available?(:monitor, context.current_user)
end
def metrics_dashboard_menu_item
return ::Sidebars::NilMenuItem.new(item_id: :metrics) if Feature.enabled?(:remove_monitor_metrics)
unless can?(context.current_user, :metrics_dashboard, context.project)
return ::Sidebars::NilMenuItem.new(item_id: :metrics)
end
::Sidebars::MenuItem.new(
title: _('Metrics'),
link: project_metrics_dashboard_path(context.project),
super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::MonitorMenu,
active_routes: { path: 'metrics_dashboard#show' },
container_html_options: { class: 'shortcuts-metrics' },
item_id: :metrics
)
end
def error_tracking_menu_item
unless can?(context.current_user, :read_sentry_issue, context.project)
return ::Sidebars::NilMenuItem.new(item_id: :error_tracking)
......
......@@ -17,7 +17,6 @@ def sprite_icon
override :configure_menu_items
def configure_menu_items
[
:metrics,
:error_tracking,
:alert_management,
:incidents,
......
......@@ -11,7 +11,6 @@
before do
project.add_role(user, role) if role
sign_in(user)
stub_feature_flags(remove_monitor_metrics: false)
end
shared_examples 'shows Monitor menu based on the access level' do
......@@ -53,7 +52,6 @@
expect(page).to have_link('Incidents', href: project_incidents_path(project))
expect(page).to have_link('Environments', href: project_environments_path(project))
expect(page).not_to have_link('Metrics', href: project_metrics_dashboard_path(project))
expect(page).not_to have_link('Alerts', href: project_alert_management_index_path(project))
expect(page).not_to have_link('Error Tracking', href: project_error_tracking_index_path(project))
expect(page).not_to have_link('Kubernetes', href: project_clusters_path(project))
......@@ -85,7 +83,6 @@
expect(page).to have_link('Incidents', href: project_incidents_path(project))
expect(page).to have_link('Environments', href: project_environments_path(project))
expect(page).not_to have_link('Metrics', href: project_metrics_dashboard_path(project))
expect(page).not_to have_link('Alerts', href: project_alert_management_index_path(project))
expect(page).not_to have_link('Error Tracking', href: project_error_tracking_index_path(project))
expect(page).not_to have_link('Kubernetes', href: project_clusters_path(project))
......@@ -99,7 +96,6 @@
it 'has the correct `Monitor` menu items' do
visit project_issues_path(project)
expect(page).to have_link('Metrics', href: project_metrics_dashboard_path(project))
expect(page).to have_link('Incidents', href: project_incidents_path(project))
expect(page).to have_link('Environments', href: project_environments_path(project))
expect(page).to have_link('Error Tracking', href: project_error_tracking_index_path(project))
......@@ -116,7 +112,6 @@
it 'has the correct `Monitor` menu items' do
visit project_issues_path(project)
expect(page).to have_link('Metrics', href: project_metrics_dashboard_path(project))
expect(page).to have_link('Alerts', href: project_alert_management_index_path(project))
expect(page).to have_link('Incidents', href: project_incidents_path(project))
expect(page).to have_link('Environments', href: project_environments_path(project))
......@@ -132,7 +127,6 @@
it 'has the correct `Monitor` menu items' do
visit project_issues_path(project)
expect(page).to have_link('Metrics', href: project_metrics_dashboard_path(project))
expect(page).to have_link('Alerts', href: project_alert_management_index_path(project))
expect(page).to have_link('Incidents', href: project_incidents_path(project))
expect(page).to have_link('Environments', href: project_environments_path(project))
......
......@@ -20,7 +20,6 @@
stub_config(registry: { enabled: false })
stub_feature_flags(harbor_registry_integration: false)
stub_feature_flags(ml_experiment_tracking: false)
stub_feature_flags(remove_monitor_metrics: false)
insert_package_nav(_('Deployments'))
insert_infrastructure_registry_nav
insert_infrastructure_google_cloud_nav
......
......@@ -19,8 +19,8 @@
visit project_path(project)
wait_for_requests
expect(page).to have_selector('.sidebar-sub-level-items a[aria-label="Monitor"]',
text: 'Monitor', visible: :hidden)
expect(page).to have_selector('.sidebar-sub-level-items a[aria-label="Error Tracking"]',
text: 'Error Tracking', visible: :hidden)
end
end
......
......@@ -9,7 +9,6 @@
before do
sign_in(user)
stub_feature_flags(remove_monitor_metrics: false)
visit(project_path(project))
......@@ -183,16 +182,6 @@ def close_modal
end
end
context 'when navigating to the Monitor pages' do
it 'redirects to the Metrics page' do
find('body').native.send_key('g')
find('body').native.send_key('l')
expect(page).to have_active_navigation('Monitor')
expect(page).to have_active_sub_navigation('Metrics')
end
end
context 'when navigating to the Infrastructure pages' do
it 'redirects to the Kubernetes page' do
find('body').native.send_key('g')
......
......@@ -57,10 +57,6 @@
end
context 'Menu items' do
before do
stub_feature_flags(remove_monitor_metrics: false)
end
subject { described_class.new(context).renderable_items.index { |e| e.item_id == item_id } }
shared_examples 'access rights checks' do
......@@ -73,12 +69,6 @@
end
end
describe 'Metrics Dashboard' do
let(:item_id) { :metrics }
it_behaves_like 'access rights checks'
end
describe 'Error Tracking' do
let(:item_id) { :error_tracking }
......
......@@ -15,7 +15,6 @@
it 'defines list of NilMenuItem placeholders' do
expect(items.map(&:class).uniq).to eq([Sidebars::NilMenuItem])
expect(items.map(&:item_id)).to eq([
:metrics,
:error_tracking,
:alert_management,
:incidents,
......
......@@ -82,7 +82,6 @@
{
nav_item: _('Monitor'),
nav_sub_items: [
_('Metrics'),
_('Error Tracking'),
_('Alerts'),
_('Incidents')
......
......@@ -382,34 +382,12 @@
end
describe 'Monitor' do
before do
stub_feature_flags(remove_monitor_metrics: false)
end
it 'top level navigation link is visible for user with permissions' do
render
expect(rendered).to have_link('Monitor')
end
describe 'Metrics Dashboard' do
it 'has a link to the metrics dashboard page' do
render
expect(rendered).to have_link('Metrics', href: project_metrics_dashboard_path(project))
end
describe 'when the user does not have access' do
let(:user) { nil }
it 'does not have a link to the metrics page' do
render
expect(rendered).not_to have_link('Metrics')
end
end
end
describe 'Error Tracking' do
it 'has a link to the error tracking page' do
render
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment