Disable inaccessible navigation links upon archiving a project
This commit is contained in:
parent
afbc827465
commit
de6bab915c
3 changed files with 59 additions and 2 deletions
|
@ -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')
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue