summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Eipert <leipert@gitlab.com>2018-05-29 11:37:59 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2018-05-29 11:37:59 +0000
commit7a0f15e2c638186d9d4aa8fff38d847cb8f75580 (patch)
treef82af6b337e75f230326636f45bd99f3b817718a
parent792512718086826fb17729566387d16e68950a85 (diff)
downloadgitlab-ce-7a0f15e2c638186d9d4aa8fff38d847cb8f75580.tar.gz
Resolve "Operations navigation menu renders empty menu when user does not have the right permissions"
-rw-r--r--app/helpers/projects_helper.rb3
-rw-r--r--spec/features/projects/user_sees_sidebar_spec.rb12
2 files changed, 15 insertions, 0 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index fa54eafd3a3..55078e1a2d2 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -257,6 +257,9 @@ module ProjectsHelper
if project.builds_enabled? && can?(current_user, :read_pipeline, project)
nav_tabs << :pipelines
+ end
+
+ if can?(current_user, :read_environment, project) || can?(current_user, :read_cluster, project)
nav_tabs << :operations
end
diff --git a/spec/features/projects/user_sees_sidebar_spec.rb b/spec/features/projects/user_sees_sidebar_spec.rb
index 8a9255db9e8..ee5734a9bf1 100644
--- a/spec/features/projects/user_sees_sidebar_spec.rb
+++ b/spec/features/projects/user_sees_sidebar_spec.rb
@@ -44,6 +44,18 @@ describe 'Projects > User sees sidebar' do
expect(page).not_to have_content 'Repository'
expect(page).not_to have_content 'CI / CD'
expect(page).not_to have_content 'Merge Requests'
+ expect(page).not_to have_content 'Operations'
+ end
+ end
+
+ it 'shows build tab if builds are public' do
+ project.public_builds = true
+ project.save
+
+ visit project_path(project)
+
+ within('.nav-sidebar') do
+ expect(page).to have_content 'CI / CD'
end
end