diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-19 18:44:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-19 18:44:42 +0300 |
commit | 4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch) | |
tree | 5423a1c7516cffe36384133ade12572cf709398d /spec/features/projects/navbar_spec.rb | |
parent | e570267f2f6b326480d284e0164a6464ba4081bc (diff) |
Add latest changes from gitlab-org/gitlab@13-12-stable-eev13.12.0-rc42
Diffstat (limited to 'spec/features/projects/navbar_spec.rb')
-rw-r--r-- | spec/features/projects/navbar_spec.rb | 166 |
1 files changed, 136 insertions, 30 deletions
diff --git a/spec/features/projects/navbar_spec.rb b/spec/features/projects/navbar_spec.rb index 7dc3ee63669..ee5bf99fd75 100644 --- a/spec/features/projects/navbar_spec.rb +++ b/spec/features/projects/navbar_spec.rb @@ -8,62 +8,168 @@ RSpec.describe 'Project navbar' do include_context 'project navbar structure' - let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, :repository) } - before do - insert_package_nav(_('Operations')) - insert_infrastructure_registry_nav - stub_config(registry: { enabled: false }) + let(:user) { project.owner } - project.add_maintainer(user) + before do sign_in(user) end - it_behaves_like 'verified navigation bar' do + context 'when sidebar refactor feature flag is disabled' do before do - visit project_path(project) + stub_feature_flags(sidebar_refactor: false) + insert_package_nav(_('Operations')) + insert_infrastructure_registry_nav + + insert_after_sub_nav_item( + _('Boards'), + within: _('Issues'), + new_sub_nav_item_name: _('Labels') + ) + + insert_after_nav_item( + _('Snippets'), + new_nav_item: { + nav_item: _('Members'), + nav_sub_items: [] + } + ) + + stub_config(registry: { enabled: false }) end - end - context 'when value stream is available' do - before do - visit project_path(project) + it_behaves_like 'verified navigation bar' do + before do + visit project_path(project) + end end - it 'redirects to value stream when Analytics item is clicked' do - page.within('.sidebar-top-level-items') do - find('[data-qa-selector=analytics_anchor]').click + context 'when value stream is available' do + before do + visit project_path(project) end - wait_for_requests + it 'redirects to value stream when Analytics item is clicked' do + page.within('.sidebar-top-level-items') do + find('.shortcuts-analytics').click + end + + wait_for_requests - expect(page).to have_current_path(project_cycle_analytics_path(project)) + expect(page).to have_current_path(project_cycle_analytics_path(project)) + end end - end - context 'when pages are available' do - before do - stub_config(pages: { enabled: true }) + context 'when pages are available' do + before do + stub_config(pages: { enabled: true }) - insert_after_sub_nav_item( - _('Operations'), - within: _('Settings'), - new_sub_nav_item_name: _('Pages') - ) + insert_after_sub_nav_item( + _('Operations'), + within: _('Settings'), + new_sub_nav_item_name: _('Pages') + ) - visit project_path(project) + visit project_path(project) + end + + it_behaves_like 'verified navigation bar' end - it_behaves_like 'verified navigation bar' + context 'when container registry is available' do + before do + stub_config(registry: { enabled: true }) + + insert_container_nav + + visit project_path(project) + end + + it_behaves_like 'verified navigation bar' + end end - context 'when container registry is available' do + context 'when sidebar refactor feature flag is enabled' do + let(:monitor_nav_item) do + { + nav_item: _('Monitor'), + nav_sub_items: monitor_menu_items + } + end + + let(:monitor_menu_items) do + [ + _('Metrics'), + _('Logs'), + _('Tracing'), + _('Error Tracking'), + _('Alerts'), + _('Incidents'), + _('Product Analytics') + ] + end + + let(:project_information_nav_item) do + { + nav_item: _('Project information'), + nav_sub_items: [ + _('Activity'), + _('Labels'), + _('Members') + ] + } + end + + let(:settings_menu_items) do + [ + _('General'), + _('Integrations'), + _('Webhooks'), + _('Access Tokens'), + _('Repository'), + _('CI/CD'), + _('Monitor') + ] + end + before do + stub_feature_flags(sidebar_refactor: true) stub_config(registry: { enabled: true }) - + insert_package_nav(_('Monitor')) + insert_infrastructure_registry_nav insert_container_nav + insert_after_sub_nav_item( + _('Monitor'), + within: _('Settings'), + new_sub_nav_item_name: _('Packages & Registries') + ) + + insert_after_nav_item( + _('Monitor'), + new_nav_item: { + nav_item: _('Infrastructure'), + nav_sub_items: [ + _('Kubernetes clusters'), + _('Serverless platform'), + _('Terraform') + ] + } + ) + + insert_after_nav_item( + _('Security & Compliance'), + new_nav_item: { + nav_item: _('Deployments'), + nav_sub_items: [ + _('Feature Flags'), + _('Environments'), + _('Releases') + ] + } + ) + visit project_path(project) end |