Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-05-14 21:10:34 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-05-14 21:10:34 +0300
commit7d4b2ed7bf75d316577b718c71a9fdef19184539 (patch)
treed709e00c4f2ab60901749883f324f9069343037c /spec/views
parent7172fb10313a9a7790f8e033b347e77df4987154 (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.rb148
1 files changed, 134 insertions, 14 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 694ba0f1f4f..d633a3d7a9d 100644
--- a/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb
+++ b/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb
@@ -66,10 +66,20 @@ RSpec.describe 'layouts/nav/sidebar/_project' do
end
describe 'Releases' do
- it 'has a link to the project releases path' do
+ it 'does not have a link to the project releases path' do
render
- expect(rendered).to have_link('Releases', href: project_releases_path(project), class: 'shortcuts-project-releases')
+ expect(rendered).not_to have_link('Releases', href: project_releases_path(project), class: 'shortcuts-project-releases')
+ end
+
+ context 'when feature flag :sidebar refactor is disabled' do
+ it 'has a link to the project releases path' do
+ stub_feature_flags(sidebar_refactor: false)
+
+ render
+
+ expect(rendered).to have_link('Releases', href: project_releases_path(project), class: 'shortcuts-project-releases')
+ end
end
end
@@ -417,6 +427,86 @@ RSpec.describe 'layouts/nav/sidebar/_project' do
end
end
+ describe 'Deployments' do
+ let(:page) { Nokogiri::HTML.parse(rendered) }
+
+ describe 'Feature Flags' do
+ it 'has a link to the feature flags page' do
+ render
+
+ expect(page.at_css('.shortcuts-deployments').parent.css('[aria-label="Feature Flags"]')).not_to be_empty
+ expect(rendered).to have_link('Feature Flags', href: project_feature_flags_path(project))
+ end
+
+ describe 'when the user does not have access' do
+ let(:user) { nil }
+
+ it 'does not have a link to the feature flags page' do
+ render
+
+ expect(rendered).not_to have_link('Feature Flags')
+ end
+ end
+
+ context 'when feature flag :sidebar_refactor is disabled' do
+ it 'does not have a Feature Flags menu item' do
+ stub_feature_flags(sidebar_refactor: false)
+
+ render
+
+ expect(rendered).not_to have_selector('.shortcuts-deployments')
+ end
+ end
+ end
+
+ describe 'Environments' do
+ it 'has a link to the environments page' do
+ render
+
+ expect(page.at_css('.shortcuts-deployments').parent.css('[aria-label="Environments"]')).not_to be_empty
+ expect(rendered).to have_link('Environments', href: project_environments_path(project))
+ end
+
+ describe 'when the user does not have access' do
+ let(:user) { nil }
+
+ it 'does not have a link to the environments page' do
+ render
+
+ expect(rendered).not_to have_link('Environments')
+ end
+ end
+
+ context 'when feature flag :sidebar_refactor is disabled' do
+ it 'does not have a Environments menu item' do
+ stub_feature_flags(sidebar_refactor: false)
+
+ render
+
+ expect(rendered).not_to have_selector('.shortcuts-deployments')
+ end
+ end
+ end
+
+ describe 'Releases' do
+ it 'has a link to the project releases path' do
+ render
+
+ expect(rendered).to have_link('Releases', href: project_releases_path(project), class: 'shortcuts-deployments-releases')
+ end
+
+ context 'when feature flag :sidebar refactor is disabled' do
+ it 'does not have a link to the project releases path' do
+ stub_feature_flags(sidebar_refactor: false)
+
+ render
+
+ expect(rendered).not_to have_link('Releases', href: project_releases_path(project), class: 'shortcuts-deployments-releases')
+ end
+ end
+ end
+ end
+
describe 'Operations' do
it 'top level navigation link is visible for user with permissions' do
render
@@ -610,37 +700,67 @@ RSpec.describe 'layouts/nav/sidebar/_project' do
end
describe 'Environments' do
- it 'has a link to the environments page' do
+ let(:page) { Nokogiri::HTML.parse(rendered) }
+
+ it 'does not have a link to the environments page' do
render
- expect(rendered).to have_link('Environments', href: project_environments_path(project))
+ expect(page.at_css('.shortcuts-operations').parent.css('[aria-label="Environments"]')).to be_empty
end
- describe 'when the user does not have access' do
- let(:user) { nil }
+ context 'when feature flag :sidebar_refactor is disabled' do
+ before do
+ stub_feature_flags(sidebar_refactor: false)
+ end
- it 'does not have a link to the environments page' do
+ it 'has a link to the environments page' do
render
- expect(rendered).not_to have_link('Environments')
+ expect(page.at_css('.shortcuts-operations').parent.css('[aria-label="Environments"]')).not_to be_empty
+ expect(rendered).to have_link('Environments', href: project_environments_path(project))
+ end
+
+ describe 'when the user does not have access' do
+ let(:user) { nil }
+
+ it 'does not have a link to the environments page' do
+ render
+
+ expect(rendered).not_to have_link('Environments')
+ end
end
end
end
describe 'Feature Flags' do
- it 'has a link to the feature flags page' do
+ let(:page) { Nokogiri::HTML.parse(rendered) }
+
+ it 'does not have a link to the feature flags page' do
render
- expect(rendered).to have_link('Feature Flags', href: project_feature_flags_path(project))
+ expect(page.at_css('.shortcuts-operations').parent.css('[aria-label="Feature Flags"]')).to be_empty
end
- describe 'when the user does not have access' do
- let(:user) { nil }
+ context 'when feature flag :sidebar_refactor is disabled' do
+ before do
+ stub_feature_flags(sidebar_refactor: false)
+ end
- it 'does not have a link to the feature flags page' do
+ it 'has a link to the feature flags page' do
render
- expect(rendered).not_to have_link('Feature Flags')
+ expect(page.at_css('.shortcuts-operations').parent.css('[aria-label="Feature Flags"]')).not_to be_empty
+ expect(rendered).to have_link('Feature Flags', href: project_feature_flags_path(project))
+ end
+
+ describe 'when the user does not have access' do
+ let(:user) { nil }
+
+ it 'does not have a link to the feature flags page' do
+ render
+
+ expect(rendered).not_to have_link('Feature Flags')
+ end
end
end
end