Commit de6bab91 authored by Elias Werberich's avatar Elias Werberich

Disable inaccessible navigation links upon archiving a project

parent afbc8274
...@@ -357,12 +357,12 @@ ...@@ -357,12 +357,12 @@
= link_to project_settings_repository_path(@project), title: _('Repository') do = link_to project_settings_repository_path(@project), title: _('Repository') do
%span %span
= _('Repository') = _('Repository')
- if @project.feature_available?(:builds, current_user) - if !@project.archived? && @project.feature_available?(:builds, current_user)
= nav_link(controller: :ci_cd) do = nav_link(controller: :ci_cd) do
= link_to project_settings_ci_cd_path(@project), title: _('CI / CD') do = link_to project_settings_ci_cd_path(@project), title: _('CI / CD') do
%span %span
= _('CI / CD') = _('CI / CD')
- if settings_operations_available? - if !@project.archived? && settings_operations_available?
= nav_link(controller: [:operations]) do = nav_link(controller: [:operations]) do
= link_to project_settings_operations_path(@project), title: _('Operations') do = link_to project_settings_operations_path(@project), title: _('Operations') do
= _('Operations') = _('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 ...@@ -113,4 +113,56 @@ describe 'layouts/nav/sidebar/_project' do
end end
end 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 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