diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-05 21:10:31 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-05 21:10:31 +0300 |
commit | 8f4d63426a207611f71bc19dae62eb19765a4cf2 (patch) | |
tree | b5843aaef889b0d1305e669404693f11ce414d22 /spec/views | |
parent | cf05fd7f3956f0b1a17caf313e89bb7b3315d947 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/views')
-rw-r--r-- | spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb | 135 |
1 files changed, 103 insertions, 32 deletions
diff --git a/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb b/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb index d5320b2d044..7bb9570e90a 100644 --- a/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb +++ b/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb @@ -471,56 +471,71 @@ RSpec.describe 'layouts/nav/sidebar/_project' do end end - describe 'Serverless' do - it 'has a link to the serverless page' do - render - - expect(rendered).to have_link('Serverless', href: project_serverless_functions_path(project)) + context 'when feature flag :sidebar_refactor is disabled' do + before do + stub_feature_flags(sidebar_refactor: false) end - describe 'when the user does not have access' do - let(:user) { nil } - - it 'does not have a link to the serverless page' do + describe 'Serverless' do + it 'has a link to the serverless page' do render - expect(rendered).not_to have_link('Serverless') + page = Nokogiri::HTML.parse(rendered) + + expect(page.at_css('.shortcuts-operations').parent.css('[aria-label="Serverless"]')).not_to be_empty + expect(rendered).to have_link('Serverless', href: project_serverless_functions_path(project)) end - end - end - describe 'Terraform' do - it 'has a link to the terraform page' do - render + describe 'when the user does not have access' do + let(:user) { nil } - expect(rendered).to have_link('Terraform', href: project_terraform_index_path(project)) - end + it 'does not have a link to the serverless page' do + render - describe 'when the user does not have access' do - let(:user) { nil } + expect(rendered).not_to have_link('Serverless') + end + end + end - it 'does not have a link to the terraform page' do + describe 'Terraform' do + it 'has a link to the terraform page' do render - expect(rendered).not_to have_link('Terraform') + page = Nokogiri::HTML.parse(rendered) + + expect(page.at_css('.shortcuts-operations').parent.css('[aria-label="Terraform"]')).not_to be_empty + expect(rendered).to have_link('Terraform', href: project_terraform_index_path(project)) end - end - end - describe 'Kubernetes' do - it 'has a link to the kubernetes page' do - render + describe 'when the user does not have access' do + let(:user) { nil } - expect(rendered).to have_link('Kubernetes', href: project_clusters_path(project)) - end + it 'does not have a link to the terraform page' do + render - describe 'when the user does not have access' do - let(:user) { nil } + expect(rendered).not_to have_link('Terraform') + end + end + end - it 'does not have a link to the kubernetes page' do + describe 'Kubernetes' do + it 'has a link to the kubernetes page' do render - expect(rendered).not_to have_link('Kubernetes') + page = Nokogiri::HTML.parse(rendered) + + expect(page.at_css('.shortcuts-operations').parent.css('[aria-label="Kubernetes"]')).not_to be_empty + expect(rendered).to have_link('Kubernetes', href: project_clusters_path(project)) + end + + describe 'when the user does not have access' do + let(:user) { nil } + + it 'does not have a link to the kubernetes page' do + render + + expect(rendered).not_to have_link('Kubernetes') + end end end end @@ -580,6 +595,62 @@ RSpec.describe 'layouts/nav/sidebar/_project' do end end + describe 'Infrastructure' do + describe 'Serverless platform' do + it 'has a link to the serverless page' do + render + + expect(rendered).to have_link('Serverless platform', href: project_serverless_functions_path(project)) + end + + describe 'when the user does not have access' do + let(:user) { nil } + + it 'does not have a link to the serverless page' do + render + + expect(rendered).not_to have_link('Serverless platform') + end + end + end + + describe 'Terraform' do + it 'has a link to the terraform page' do + render + + expect(rendered).to have_link('Terraform', href: project_terraform_index_path(project)) + end + + describe 'when the user does not have access' do + let(:user) { nil } + + it 'does not have a link to the terraform page' do + render + + expect(rendered).not_to have_link('Terraform') + end + end + end + + describe 'Kubernetes clusters' do + it 'has a link to the kubernetes page' do + render + + expect(rendered).to have_link('Kubernetes clusters', href: project_clusters_path(project)) + end + + describe 'when the user does not have access' do + let(:user) { nil } + + it 'does not have a link to the kubernetes page' do + render + + expect(rendered).not_to have_link('Kubernetes clusters') + end + end + end + end + describe 'Packages and Registries' do let(:registry_enabled) { true } let(:packages_enabled) { true } |