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:
Diffstat (limited to 'spec/support/shared_contexts')
-rw-r--r--spec/support/shared_contexts/navbar_structure_context.rb132
-rw-r--r--spec/support/shared_contexts/policies/project_policy_shared_context.rb2
-rw-r--r--spec/support/shared_contexts/project_service_shared_context.rb2
-rw-r--r--spec/support/shared_contexts/services_shared_context.rb9
-rw-r--r--spec/support/shared_contexts/spam_constants.rb1
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