Commit 129dce99 authored by Douglas Barbosa Alexandre's avatar Douglas Barbosa Alexandre

Merge branch 'contribute/fix-nav-links-archived-project' into 'master'

Disable inaccessible navigation links upon archiving a project

Closes #58793

See merge request gitlab-org/gitlab-ce!26020
parents 700e8d19 de6bab91
......@@ -357,12 +357,12 @@
= link_to project_settings_repository_path(@project), title: _('Repository') do
%span
= _('Repository')
- if @project.feature_available?(:builds, current_user)
- if !@project.archived? && @project.feature_available?(:builds, current_user)
= nav_link(controller: :ci_cd) do
= link_to project_settings_ci_cd_path(@project), title: _('CI / CD') do
%span
= _('CI / CD')
- if settings_operations_available?
- if !@project.archived? && settings_operations_available?
= nav_link(controller: [:operations]) do
= link_to project_settings_operations_path(@project), title: _('Operations') do
= _('Operations')
......
---
title: "Disable inaccessible navigation links upon archiving a project"
merge_request: 26020
author: Elias Werberich
type: fixed
......@@ -113,4 +113,56 @@ describe 'layouts/nav/sidebar/_project' do
end
end
end
describe 'ci/cd settings tab' do
before do
project.update!(archived: project_archived)
end
context 'when project is archived' do
let(:project_archived) { true }
it 'does not show the ci/cd settings tab' do
render
expect(rendered).not_to have_link('CI / CD', href: project_settings_ci_cd_path(project))
end
end
context 'when project is active' do
let(:project_archived) { false }
it 'shows the ci/cd settings tab' do
render
expect(rendered).to have_link('CI / CD', href: project_settings_ci_cd_path(project))
end
end
end
describe 'operations settings tab' do
before do
project.update!(archived: project_archived)
end
context 'when project is archived' do
let(:project_archived) { true }
it 'does not show the operations settings tab' do
render
expect(rendered).not_to have_link('Operations', href: project_settings_operations_path(project))
end
end
context 'when project is active' do
let(:project_archived) { false }
it 'shows the operations settings tab' do
render
expect(rendered).to have_link('Operations', href: project_settings_operations_path(project))
end
end
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