diff options
Diffstat (limited to 'spec/support/shared_contexts')
5 files changed, 82 insertions, 64 deletions
diff --git a/spec/support/shared_contexts/navbar_structure_context.rb b/spec/support/shared_contexts/navbar_structure_context.rb index 78d14ecb880..4f8e88ae9da 100644 --- a/spec/support/shared_contexts/navbar_structure_context.rb +++ b/spec/support/shared_contexts/navbar_structure_context.rb @@ -24,16 +24,56 @@ RSpec.shared_context 'project navbar structure' do } end + let(:monitor_nav_item) do + { + nav_item: _('Operations'), + nav_sub_items: monitor_menu_items + } + end + + let(:monitor_menu_items) do + [ + _('Metrics'), + _('Logs'), + _('Tracing'), + _('Error Tracking'), + _('Alerts'), + _('Incidents'), + _('Serverless'), + _('Terraform'), + _('Kubernetes'), + _('Environments'), + _('Feature Flags'), + _('Product Analytics') + ] + end + + let(:project_information_nav_item) do + { + nav_item: _('Project overview'), + nav_sub_items: [ + _('Details'), + _('Activity'), + _('Releases') + ] + } + end + + let(:settings_menu_items) do + [ + _('General'), + _('Integrations'), + _('Webhooks'), + _('Access Tokens'), + _('Repository'), + _('CI/CD'), + _('Operations') + ] + end + let(:structure) do [ - { - nav_item: _('Project overview'), - nav_sub_items: [ - _('Details'), - _('Activity'), - _('Releases') - ] - }, + project_information_nav_item, { nav_item: _('Repository'), nav_sub_items: [ @@ -52,7 +92,6 @@ RSpec.shared_context 'project navbar structure' do nav_sub_items: [ _('List'), _('Boards'), - _('Labels'), _('Service Desk'), _('Milestones'), (_('Iterations') if Gitlab.ee?) @@ -73,23 +112,7 @@ RSpec.shared_context 'project navbar structure' do ] }, security_and_compliance_nav_item, - { - nav_item: _('Operations'), - nav_sub_items: [ - _('Metrics'), - _('Logs'), - _('Tracing'), - _('Error Tracking'), - _('Alerts'), - _('Incidents'), - _('Serverless'), - _('Terraform'), - _('Kubernetes'), - _('Environments'), - _('Feature Flags'), - _('Product Analytics') - ] - }, + monitor_nav_item, analytics_nav_item, { nav_item: _('Wiki'), @@ -100,20 +123,8 @@ RSpec.shared_context 'project navbar structure' do nav_sub_items: [] }, { - nav_item: _('Members'), - nav_sub_items: [] - }, - { nav_item: _('Settings'), - nav_sub_items: [ - _('General'), - _('Integrations'), - _('Webhooks'), - _('Access Tokens'), - _('Repository'), - _('CI/CD'), - _('Operations') - ].compact + nav_sub_items: settings_menu_items } ].compact end @@ -124,8 +135,7 @@ RSpec.shared_context 'group navbar structure' do { nav_item: _('Analytics'), nav_sub_items: [ - _('Contribution'), - _('DevOps Adoption') + _('Contribution') ] } end @@ -171,23 +181,31 @@ RSpec.shared_context 'group navbar structure' do } end + let(:group_information_nav_item) do + { + nav_item: _('Group information'), + nav_sub_items: [ + _('Activity'), + _('Labels'), + _('Members') + ] + } + end + + let(:issues_nav_items) do + [ + _('List'), + _('Board'), + _('Milestones') + ] + end + let(:structure) do [ - { - nav_item: _('Group overview'), - nav_sub_items: [ - _('Details'), - _('Activity') - ] - }, + group_information_nav_item, { nav_item: _('Issues'), - nav_sub_items: [ - _('List'), - _('Board'), - _('Labels'), - _('Milestones') - ] + nav_sub_items: issues_nav_items }, { nav_item: _('Merge requests'), @@ -199,11 +217,7 @@ RSpec.shared_context 'group navbar structure' do nav_item: _('Kubernetes'), nav_sub_items: [] }, - (analytics_nav_item if Gitlab.ee?), - { - nav_item: _('Members'), - nav_sub_items: [] - } + (analytics_nav_item if Gitlab.ee?) ] end end diff --git a/spec/support/shared_contexts/policies/project_policy_shared_context.rb b/spec/support/shared_contexts/policies/project_policy_shared_context.rb index 266c8d5ee84..35dc709b5d9 100644 --- a/spec/support/shared_contexts/policies/project_policy_shared_context.rb +++ b/spec/support/shared_contexts/policies/project_policy_shared_context.rb @@ -15,7 +15,7 @@ RSpec.shared_context 'ProjectPolicy context' do let(:base_guest_permissions) do %i[ - award_emoji create_issue create_merge_request_in create_note + award_emoji create_issue create_incident create_merge_request_in create_note create_project read_issue_board read_issue read_issue_iid read_issue_link read_label read_issue_board_list read_milestone read_note read_project read_project_for_iids read_project_member read_release read_snippet diff --git a/spec/support/shared_contexts/project_service_shared_context.rb b/spec/support/shared_contexts/project_service_shared_context.rb index a8e75c624e8..0e3540a3e15 100644 --- a/spec/support/shared_contexts/project_service_shared_context.rb +++ b/spec/support/shared_contexts/project_service_shared_context.rb @@ -22,7 +22,7 @@ RSpec.shared_context 'project service activation' do end def click_active_checkbox - find('input[name="service[active]"]').click + find('label', text: 'Active').click end def click_save_integration diff --git a/spec/support/shared_contexts/services_shared_context.rb b/spec/support/shared_contexts/services_shared_context.rb index f250632ff51..34c92367efa 100644 --- a/spec/support/shared_contexts/services_shared_context.rb +++ b/spec/support/shared_contexts/services_shared_context.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true -Service.available_services_names.each do |service| +Integration.available_services_names.each do |service| RSpec.shared_context service do include JiraServiceHelper if service == 'jira' let(:dashed_service) { service.dasherize } let(:service_method) { "#{service}_service".to_sym } - let(:service_klass) { "#{service}_service".classify.constantize } + let(:service_klass) { Integration.service_name_to_model(service) } let(:service_instance) { service_klass.new } let(:service_fields) { service_instance.fields } let(:service_attrs_list) { service_fields.inject([]) {|arr, hash| arr << hash[:name].to_sym } } @@ -30,6 +30,8 @@ Service.available_services_names.each do |service| hash.merge!(k => '1,2,3') elsif service == 'emails_on_push' && k == :recipients hash.merge!(k => 'foo@bar.com') + elsif service == 'slack' || service == 'mattermost' && k == :labels_to_be_notified_behavior + hash.merge!(k => "match_any") else hash.merge!(k => "someword") end @@ -47,8 +49,9 @@ Service.available_services_names.each do |service| stub_jira_service_test if service == 'jira' end - def initialize_service(service) + def initialize_service(service, attrs = {}) service_item = project.find_or_initialize_service(service) + service_item.attributes = attrs service_item.properties = service_attrs service_item.save! service_item diff --git a/spec/support/shared_contexts/spam_constants.rb b/spec/support/shared_contexts/spam_constants.rb index 813f9d00123..e88a7c1b0df 100644 --- a/spec/support/shared_contexts/spam_constants.rb +++ b/spec/support/shared_contexts/spam_constants.rb @@ -6,5 +6,6 @@ RSpec.shared_context 'includes Spam constants' do stub_const('DISALLOW', Spam::SpamConstants::DISALLOW) stub_const('ALLOW', Spam::SpamConstants::ALLOW) stub_const('BLOCK_USER', Spam::SpamConstants::BLOCK_USER) + stub_const('NOOP', Spam::SpamConstants::NOOP) end end |