diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml index feddf9929e3d50acc2596a4b48d45c9dc76d8743..89c020ed881b0b9197fb5799c42c1623d143a2da 100644 --- a/.rubocop_todo/rspec/feature_category.yml +++ b/.rubocop_todo/rspec/feature_category.yml @@ -2881,7 +2881,6 @@ RSpec/FeatureCategory: - 'spec/lib/gitlab/seeders/ci/daily_build_group_report_result_spec.rb' - 'spec/lib/gitlab/serializer/ci/variables_spec.rb' - 'spec/lib/gitlab/serializer/pagination_spec.rb' - - 'spec/lib/gitlab/service_desk_spec.rb' - 'spec/lib/gitlab/session_spec.rb' - 'spec/lib/gitlab/setup_helper/praefect_spec.rb' - 'spec/lib/gitlab/setup_helper/workhorse_spec.rb' diff --git a/.rubocop_todo/rspec/receive_messages.yml b/.rubocop_todo/rspec/receive_messages.yml index a3d21c45725a5af8c55729314b8419bacf0e0f16..861c2aa8a99d7937715e05eadaa9ba32d8d9c213 100644 --- a/.rubocop_todo/rspec/receive_messages.yml +++ b/.rubocop_todo/rspec/receive_messages.yml @@ -360,7 +360,6 @@ RSpec/ReceiveMessages: - 'spec/lib/gitlab/request_forgery_protection_spec.rb' - 'spec/lib/gitlab/runtime_spec.rb' - 'spec/lib/gitlab/search_context/builder_spec.rb' - - 'spec/lib/gitlab/service_desk_spec.rb' - 'spec/lib/gitlab/shell_spec.rb' - 'spec/lib/gitlab/sidekiq_config_spec.rb' - 'spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executed_spec.rb' diff --git a/app/controllers/projects/service_desk_controller.rb b/app/controllers/projects/service_desk_controller.rb index 311bf89e1a48b61e1aecce9bf4741ace22b0f468..b661ccf63f7bdb501f0f3fa34f10d188f63016dc 100644 --- a/app/controllers/projects/service_desk_controller.rb +++ b/app/controllers/projects/service_desk_controller.rb @@ -44,7 +44,7 @@ def service_desk_attributes { service_desk_address: ::ServiceDesk::Emails.new(project).system_address, - service_desk_enabled: ::Gitlab::ServiceDesk.enabled?(project), + service_desk_enabled: ::ServiceDesk.enabled?(project), issue_template_key: service_desk_settings&.issue_template_key, template_file_missing: service_desk_settings&.issue_template_missing?, outgoing_name: service_desk_settings&.outgoing_name, diff --git a/app/graphql/types/project_type.rb b/app/graphql/types/project_type.rb index b93182d9acad2629f2be8ca89613f6f9a151ded3..b26d4f0a4d2bddbdc466921ee23e5abea79d73fc 100644 --- a/app/graphql/types/project_type.rb +++ b/app/graphql/types/project_type.rb @@ -947,7 +947,7 @@ def service_desk_address end def service_desk_enabled - ::Gitlab::ServiceDesk.enabled?(project) + ::ServiceDesk.enabled?(project) end def languages diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 1b453e38ab364a17c86518125e0a458c99d30049..3bbcdf7148dc7fc46331c6023c01c048337492f9 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -102,8 +102,8 @@ def show_moved_service_desk_issue_warning?(issue) return false unless issue.moved_from return false unless issue.from_service_desk? - ::Gitlab::ServiceDesk.enabled?(issue.moved_from.project) && - !::Gitlab::ServiceDesk.enabled?(issue.project) + ::ServiceDesk.enabled?(issue.moved_from.project) && + !::ServiceDesk.enabled?(issue.project) end def issue_header_actions_data(project, issuable, current_user, issuable_sidebar) diff --git a/app/models/group.rb b/app/models/group.rb index 0b5a60d81db9cb30a38ed445b6f2d4668af2935b..18a1b65752694e4317d00e8f47e970ad1a1afc26 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -936,7 +936,7 @@ def parent_allows_two_factor_authentication? end def has_project_with_service_desk_enabled? - Gitlab::ServiceDesk.supported? && all_projects.service_desk_enabled.exists? + ::ServiceDesk.supported? && all_projects.service_desk_enabled.exists? end strong_memoize_attr :has_project_with_service_desk_enabled? diff --git a/app/models/service_desk.rb b/app/models/service_desk.rb index cb9c924c01f88ec3b7bcfc86a97277098a45d9b0..86944cd2783bdd0b18617bf3e71a71b133de67e7 100644 --- a/app/models/service_desk.rb +++ b/app/models/service_desk.rb @@ -4,4 +4,13 @@ module ServiceDesk def self.table_name_prefix 'service_desk_' end + + def self.enabled?(project) + supported? && project.service_desk_enabled + end + + def self.supported? + ::Gitlab::Email::IncomingEmail.enabled? && + ::Gitlab::Email::IncomingEmail.supports_wildcard? + end end diff --git a/app/policies/issue_policy.rb b/app/policies/issue_policy.rb index f75f76741ae4ff989f0cc1d31b9d8722950a2ffc..43e2a25336bb2ab37412599b6807b01f4f6fe87e 100644 --- a/app/policies/issue_policy.rb +++ b/app/policies/issue_policy.rb @@ -43,7 +43,7 @@ def epics_license_available? if group_issue? subject_container.has_project_with_service_desk_enabled? else - ::Gitlab::ServiceDesk.enabled?(subject_container) + ::ServiceDesk.enabled?(subject_container) end end diff --git a/app/policies/project_policy.rb b/app/policies/project_policy.rb index fa1c6afc1c4b02c6822c11339c35dc1af68b20b8..10f9ececda7644aada8178dd9de0542be48e62cc 100644 --- a/app/policies/project_policy.rb +++ b/app/policies/project_policy.rb @@ -205,7 +205,7 @@ class ProjectPolicy < BasePolicy end with_scope :subject - condition(:service_desk_enabled) { ::Gitlab::ServiceDesk.enabled?(@subject) } + condition(:service_desk_enabled) { ::ServiceDesk.enabled?(@subject) } with_scope :subject condition(:model_experiments_enabled) do diff --git a/app/services/notification_service.rb b/app/services/notification_service.rb index a0658eaff9e1ecceb1e7970967b52600d004ee05..54e5db518d474a0f864414e375a01d29d401181d 100644 --- a/app/services/notification_service.rb +++ b/app/services/notification_service.rb @@ -449,7 +449,7 @@ def send_new_note_notifications(note) def send_service_desk_notification(note) return unless note.noteable_type == 'Issue' return if note.confidential - return unless note.project && ::Gitlab::ServiceDesk.enabled?(note.project) + return unless note.project && ::ServiceDesk.enabled?(note.project) issue = note.noteable recipients = issue.issue_email_participants diff --git a/app/views/projects/_service_desk_settings.html.haml b/app/views/projects/_service_desk_settings.html.haml index 987b9309aae0c123f30fdaf698b6ba849d8fa45c..ae284ffcbdbf199c5c13d130bc85a5daba51c9e7 100644 --- a/app/views/projects/_service_desk_settings.html.haml +++ b/app/views/projects/_service_desk_settings.html.haml @@ -7,8 +7,8 @@ - link_start = "<a href='#{help_page_path('user/project/service_desk/index.md')}' target='_blank' rel='noopener noreferrer'>".html_safe = _('Enable and disable Service Desk. Some additional configuration might be required. %{link_start}Learn more%{link_end}.').html_safe % { link_start: link_start, link_end: '</a>'.html_safe } - c.with_body do - - if ::Gitlab::ServiceDesk.supported? - - service_desk_enabled = ::Gitlab::ServiceDesk.enabled?(@project) + - if ::ServiceDesk.supported? + - service_desk_enabled = ::ServiceDesk.enabled?(@project) - service_desk_emails = ::ServiceDesk::Emails.new(@project) -# Data attributes refactoring issue: https://gitlab.com/gitlab-org/gitlab/-/issues/467547 diff --git a/app/views/projects/issues/service_desk.html.haml b/app/views/projects/issues/service_desk.html.haml index 24366b4bc058873fd1185165b658d6e03efcb14f..ff3cba4be7b2d33d584df3f6a577025cc0d033de 100644 --- a/app/views/projects/issues/service_desk.html.haml +++ b/app/views/projects/issues/service_desk.html.haml @@ -3,7 +3,7 @@ - page_title _("Service Desk") - add_page_specific_style 'page_bundles/issuable_list' - add_page_specific_style 'page_bundles/issues_list' -- service_desk_enabled = ::Gitlab::ServiceDesk.enabled?(@project) +- service_desk_enabled = ::ServiceDesk.enabled?(@project) - support_bot_attrs = { service_desk_enabled: service_desk_enabled, **UserSerializer.new.represent(Users::Internal.support_bot) }.to_json @@ -15,5 +15,5 @@ service_desk_callout_svg_path: image_path('illustrations/service-desk-sm.svg'), service_desk_settings_path: edit_project_path(@project, anchor: 'js-service-desk'), service_desk_help_path: help_page_path('user/project/service_desk/index.md'), - is_service_desk_supported: Gitlab::ServiceDesk.supported?.to_s, + is_service_desk_supported: ::ServiceDesk.supported?.to_s, is_service_desk_enabled: service_desk_enabled.to_s } } diff --git a/ee/spec/features/projects/navbar_spec.rb b/ee/spec/features/projects/navbar_spec.rb index d910333545f85b0d2a4e12c47eeaa1ac665806f4..9a02e3a037a131f0f235bff65a058c774daf6a56 100644 --- a/ee/spec/features/projects/navbar_spec.rb +++ b/ee/spec/features/projects/navbar_spec.rb @@ -23,7 +23,7 @@ insert_infrastructure_google_cloud_nav insert_infrastructure_aws_nav project.update!(service_desk_enabled: true) - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) allow(Gitlab::CurrentSettings).to receive(:product_analytics_enabled?).and_return(true) stub_licensed_features(product_analytics: true) diff --git a/ee/spec/lib/ee/gitlab/email/handler/service_desk_handler_spec.rb b/ee/spec/lib/ee/gitlab/email/handler/service_desk_handler_spec.rb index e30655a6cc1f44d0b295c2f2d543e8525338e5db..6d112fcc48e1afe698a86124bf7f3b0b311b6875 100644 --- a/ee/spec/lib/ee/gitlab/email/handler/service_desk_handler_spec.rb +++ b/ee/spec/lib/ee/gitlab/email/handler/service_desk_handler_spec.rb @@ -22,7 +22,7 @@ let_it_be(:project) { create(:project, :repository, :private, group: group, path: 'test', service_desk_enabled: true) } before do - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end context 'when everything is fine' do diff --git a/ee/spec/lib/sidebars/projects/super_sidebar_panel_spec.rb b/ee/spec/lib/sidebars/projects/super_sidebar_panel_spec.rb index ecd43959feb5c04046c63bf6f92aa44c2ee592d4..a777db2dfd61f84048e23db01f75c870852b2762 100644 --- a/ee/spec/lib/sidebars/projects/super_sidebar_panel_spec.rb +++ b/ee/spec/lib/sidebars/projects/super_sidebar_panel_spec.rb @@ -48,7 +48,7 @@ stub_saas_features(google_cloud_support: true) # Iterations are only available in non-personal projects allow(project).to receive(:personal?).and_return(false) - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) project.update!(service_desk_enabled: true) allow(project).to receive(:product_analytics_enabled?).and_return(true) end diff --git a/ee/spec/policies/epic_policy_spec.rb b/ee/spec/policies/epic_policy_spec.rb index 34117b8c5f899345e9e3665d77382fafbc4eb18b..b2823acbef53bc78fb3dcc464dd65d75a7c0dd79 100644 --- a/ee/spec/policies/epic_policy_spec.rb +++ b/ee/spec/policies/epic_policy_spec.rb @@ -394,7 +394,7 @@ let_it_be(:user) { Users::Internal.support_bot } before do - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end context 'when group has at least one project with service desk enabled' do diff --git a/ee/spec/policies/group_policy_spec.rb b/ee/spec/policies/group_policy_spec.rb index a0785058b827bfed2e6b2abcf3ce323eb9c28090..ce737440e5976d3fc94ec07037e1c75e45dfc91c 100644 --- a/ee/spec/policies/group_policy_spec.rb +++ b/ee/spec/policies/group_policy_spec.rb @@ -103,7 +103,7 @@ def stub_group_saml_config(enabled) let_it_be(:current_user) { Users::Internal.support_bot } before do - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end context 'when group has at least one project with service desk enabled' do diff --git a/ee/spec/policies/issue_policy_spec.rb b/ee/spec/policies/issue_policy_spec.rb index 2db92973a864d9b6acef14695ff5e08e6f35b7c1..b91a4cadf9f511b5c5d5b58b9cf7b37ab164044a 100644 --- a/ee/spec/policies/issue_policy_spec.rb +++ b/ee/spec/policies/issue_policy_spec.rb @@ -176,7 +176,7 @@ def permissions(user, issue) before do allow(::Gitlab::Email::IncomingEmail).to receive(:enabled?).and_return(true) allow(::Gitlab::Email::IncomingEmail).to receive(:supports_wildcard?).and_return(true) - allow(::Gitlab::ServiceDesk).to receive(:enabled?).and_return(true) + allow(::ServiceDesk).to receive(:enabled?).and_return(true) end it 'allows support_bot to admin_issue_relation on project issues, but does not allow it on group issues' do diff --git a/lib/api/entities/project.rb b/lib/api/entities/project.rb index 6d0508fe94cec8042db615f5be4b4d55ed5d9c7d..68905a40984a37ff359658d33cae83b4cc82e14e 100644 --- a/lib/api/entities/project.rb +++ b/lib/api/entities/project.rb @@ -60,7 +60,7 @@ class Project < ProjectDetails expose(:jobs_enabled, documentation: { type: 'boolean' }) { |project, options| project.feature_available?(:builds, options[:current_user]) } expose(:snippets_enabled, documentation: { type: 'boolean' }) { |project, options| project.feature_available?(:snippets, options[:current_user]) } expose(:container_registry_enabled, documentation: { type: 'boolean' }) { |project, options| project.feature_available?(:container_registry, options[:current_user]) } - expose(:service_desk_enabled, documentation: { type: 'boolean' }) { |project, options| ::Gitlab::ServiceDesk.enabled?(project) } + expose(:service_desk_enabled, documentation: { type: 'boolean' }) { |project, options| ::ServiceDesk.enabled?(project) } expose :service_desk_address, documentation: { type: 'string', example: 'address@example.com' }, if: ->(project, options) { Ability.allowed?(options[:current_user], :admin_issue, project) } do |project| diff --git a/lib/gitlab/email/handler/service_desk_handler.rb b/lib/gitlab/email/handler/service_desk_handler.rb index cc273a515ab19935f91f9b58357e36c926599f9f..0712b5b508ba7783d5d7a77b90f944868df9b71b 100644 --- a/lib/gitlab/email/handler/service_desk_handler.rb +++ b/lib/gitlab/email/handler/service_desk_handler.rb @@ -26,7 +26,7 @@ def initialize(mail, mail_key, service_desk_key: nil) end def can_handle? - Gitlab::ServiceDesk.supported? && (project_id || can_handle_legacy_format? || service_desk_key) + ::ServiceDesk.supported? && (project_id || can_handle_legacy_format? || service_desk_key) end def execute @@ -65,7 +65,7 @@ def project strong_memoize(:project) do project_record = super project_record ||= project_from_key if service_desk_key - project_record && ::Gitlab::ServiceDesk.enabled?(project_record) ? project_record : nil + project_record && ::ServiceDesk.enabled?(project_record) ? project_record : nil end end diff --git a/lib/gitlab/service_desk.rb b/lib/gitlab/service_desk.rb deleted file mode 100644 index af556d09a5ea1e11a019133fc3ec6c753341f36a..0000000000000000000000000000000000000000 --- a/lib/gitlab/service_desk.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true - -module Gitlab - module ServiceDesk - def self.enabled?(project) - supported? && project.service_desk_enabled - end - - def self.supported? - Gitlab::Email::IncomingEmail.enabled? && Gitlab::Email::IncomingEmail.supports_wildcard? - end - end -end diff --git a/lib/service_desk/emails.rb b/lib/service_desk/emails.rb index b25260dfab16012a3063df7ed1bd4510a1997850..781aaad79672d5324985502913b4a3a474c65edd 100644 --- a/lib/service_desk/emails.rb +++ b/lib/service_desk/emails.rb @@ -34,7 +34,7 @@ def alias_address end def incoming_address - return unless Gitlab::ServiceDesk.enabled?(project) + return unless ServiceDesk.enabled?(project) config = Gitlab.config.incoming_email wildcard = Gitlab::Email::Common::WILDCARD_PLACEHOLDER diff --git a/lib/sidebars/projects/menus/issues_menu.rb b/lib/sidebars/projects/menus/issues_menu.rb index 1c5454ebd172842f6ba5e7249f51f58b1d9bab03..148b7d1c6ce396ee68c93277cf16125058a748c0 100644 --- a/lib/sidebars/projects/menus/issues_menu.rb +++ b/lib/sidebars/projects/menus/issues_menu.rb @@ -109,9 +109,7 @@ def boards_menu_item end def service_desk_menu_item - unless ::Gitlab::ServiceDesk.enabled?(context.project) - return ::Sidebars::NilMenuItem.new(item_id: :service_desk) - end + return ::Sidebars::NilMenuItem.new(item_id: :service_desk) unless ::ServiceDesk.enabled?(context.project) ::Sidebars::MenuItem.new( title: _('Service Desk'), diff --git a/spec/features/issues/service_desk_spec.rb b/spec/features/issues/service_desk_spec.rb index 3f4e042bddc54de3ae7b5511d3c5b5b2723b2a4f..0be69f1a9044e8cd27b0ffe6a87030f3564c9939 100644 --- a/spec/features/issues/service_desk_spec.rb +++ b/spec/features/issues/service_desk_spec.rb @@ -9,7 +9,7 @@ let_it_be(:support_bot) { Users::Internal.support_bot } before do - # The following two conditions equate to Gitlab::ServiceDesk.supported == true + # The following two conditions equate to ServiceDesk.supported == true allow(Gitlab::Email::IncomingEmail).to receive(:enabled?).and_return(true) allow(Gitlab::Email::IncomingEmail).to receive(:supports_wildcard?).and_return(true) diff --git a/spec/features/monitor_sidebar_link_spec.rb b/spec/features/monitor_sidebar_link_spec.rb index 14fe8814c9b6be179b4410d86e062bbac4eb335d..75e373a9dc4efcbb923544db812fbd75d303cf64 100644 --- a/spec/features/monitor_sidebar_link_spec.rb +++ b/spec/features/monitor_sidebar_link_spec.rb @@ -13,7 +13,7 @@ sign_in(user) project.update!(service_desk_enabled: true) - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end shared_examples 'shows common Monitor menu item based on the access level' do diff --git a/spec/features/projects/navbar_spec.rb b/spec/features/projects/navbar_spec.rb index 52cc1622e849b4d79adc51595badf4b5ceef0182..358cbe7a7332cd5452a7ac30a198aeaef312ddb7 100644 --- a/spec/features/projects/navbar_spec.rb +++ b/spec/features/projects/navbar_spec.rb @@ -20,7 +20,7 @@ insert_infrastructure_google_cloud_nav insert_infrastructure_aws_nav project.update!(service_desk_enabled: true) - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end it_behaves_like 'verified navigation bar' do diff --git a/spec/features/promotion_spec.rb b/spec/features/promotion_spec.rb index b2ab718321fd3c646bc85c5a48cc515a500bdb94..538c181920abc9be4a4ae224ac113609c600c384 100644 --- a/spec/features/promotion_spec.rb +++ b/spec/features/promotion_spec.rb @@ -14,7 +14,7 @@ context 'when service desk is not supported' do before do - allow(::Gitlab::ServiceDesk).to receive(:supported?).and_return(false) + allow(::ServiceDesk).to receive(:supported?).and_return(false) end it 'appears in project edit page' do @@ -40,7 +40,7 @@ context 'when service desk is supported' do before do - allow(::Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end it 'does not show promotion' do diff --git a/spec/lib/api/entities/project_spec.rb b/spec/lib/api/entities/project_spec.rb index b4e5cdce7dbee8975f4b731db1c73e450036c757..4b02e1c6f1e4348774b080e4c9a587ea860b64e3 100644 --- a/spec/lib/api/entities/project_spec.rb +++ b/spec/lib/api/entities/project_spec.rb @@ -28,7 +28,7 @@ describe '.service_desk_address', feature_category: :service_desk do before do - allow(::Gitlab::ServiceDesk).to receive(:enabled?).and_return(true) + allow(::ServiceDesk).to receive(:enabled?).and_return(true) end context 'when a user can admin issues' do diff --git a/spec/lib/gitlab/email/handler/create_note_handler_spec.rb b/spec/lib/gitlab/email/handler/create_note_handler_spec.rb index 088ca5e093f5cd31fbd406b5b153c533096542bf..971b5fa74a54ac719395fda96284dd7f6c248065 100644 --- a/spec/lib/gitlab/email/handler/create_note_handler_spec.rb +++ b/spec/lib/gitlab/email/handler/create_note_handler_spec.rb @@ -236,7 +236,7 @@ let_it_be(:note) { create(:note, noteable: noteable, project: project) } let!(:sent_notification) do - allow(::Gitlab::ServiceDesk).to receive(:enabled?).with(project).and_return(true) + allow(::ServiceDesk).to receive(:enabled?).with(project).and_return(true) SentNotification.record_note(note, Users::Internal.support_bot.id) end @@ -267,7 +267,7 @@ let!(:noteable) { note.noteable } let!(:sent_notification) do - allow(::Gitlab::ServiceDesk).to receive(:enabled?).with(project).and_return(true) + allow(::ServiceDesk).to receive(:enabled?).with(project).and_return(true) SentNotification.record_note(note, Users::Internal.support_bot.id) end diff --git a/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb b/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb index e2f3d74971aab5e8897f5446d255b395b5ee1392..80bd951cd0bf622e3626a348d6c52bd29e75be0c 100644 --- a/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb +++ b/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb @@ -30,7 +30,7 @@ let(:confidential_ticket) { true } before do - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end shared_examples 'a new issue request' do @@ -811,7 +811,7 @@ def receive_reply context 'when service desk is not enabled for project' do before do - allow(Gitlab::ServiceDesk).to receive(:enabled?).and_return(false) + allow(::ServiceDesk).to receive(:enabled?).and_return(false) end it 'does not create an issue' do diff --git a/spec/lib/gitlab/email/handler_spec.rb b/spec/lib/gitlab/email/handler_spec.rb index 47907401a6321ed08581669b16c972dce3be5aa4..69d88311804dccc00b57a3f7596397bcb039faa0 100644 --- a/spec/lib/gitlab/email/handler_spec.rb +++ b/spec/lib/gitlab/email/handler_spec.rb @@ -67,7 +67,7 @@ def handler_for(fixture, mail_key) end before do - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end it 'picks each handler at least once' do diff --git a/spec/lib/sidebars/projects/menus/issues_menu_spec.rb b/spec/lib/sidebars/projects/menus/issues_menu_spec.rb index 92d2b4ab406777fccb862bd30d3455e728738273..210fff204959007236171b713255727685161640 100644 --- a/spec/lib/sidebars/projects/menus/issues_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/issues_menu_spec.rb @@ -69,7 +69,7 @@ describe 'when service desk is supported' do before do - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end describe 'when service desk is enabled' do @@ -91,7 +91,7 @@ describe 'when service desk is unsupported' do before do - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(false) + allow(::ServiceDesk).to receive(:supported?).and_return(false) project.update!(service_desk_enabled: true) end diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb index 67e04cdcf23b1f58a467f77576f5b87586244638..38885ca3a5f13185b035aa57443e8c2385f65e35 100644 --- a/spec/models/group_spec.rb +++ b/spec/models/group_spec.rb @@ -3403,7 +3403,7 @@ def define_cache_expectations(cache_key) subject { group.has_project_with_service_desk_enabled? } before do - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end context 'when service desk is enabled' do @@ -3414,7 +3414,7 @@ def define_cache_expectations(cache_key) context 'when service desk is not supported' do before do - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(false) + allow(::ServiceDesk).to receive(:supported?).and_return(false) end it { is_expected.to eq(false) } diff --git a/spec/lib/gitlab/service_desk_spec.rb b/spec/models/service_desk_spec.rb similarity index 82% rename from spec/lib/gitlab/service_desk_spec.rb rename to spec/models/service_desk_spec.rb index 41108730fc815261ff36f5d732a8ba39a7870043..7d4db328eb210b8987225ab53b8fbfd8223ead3a 100644 --- a/spec/lib/gitlab/service_desk_spec.rb +++ b/spec/models/service_desk_spec.rb @@ -2,10 +2,11 @@ require 'spec_helper' -RSpec.describe Gitlab::ServiceDesk, feature_category: :service_desk do +RSpec.describe ServiceDesk, feature_category: :service_desk do before do - allow(Gitlab::Email::IncomingEmail).to receive(:enabled?).and_return(true) - allow(Gitlab::Email::IncomingEmail).to receive(:supports_wildcard?).and_return(true) + allow(Gitlab::Email::IncomingEmail).to receive_messages( + enabled?: true, + supports_wildcard?: true) end describe 'enabled?' do diff --git a/spec/policies/group_policy_spec.rb b/spec/policies/group_policy_spec.rb index e7596f6310f28133b58d3ff9b13432b8706362e7..3b76d293e8dfd6ddf3573ce80bce25973a47a4ce 100644 --- a/spec/policies/group_policy_spec.rb +++ b/spec/policies/group_policy_spec.rb @@ -1355,7 +1355,7 @@ let_it_be(:current_user) { Users::Internal.support_bot } before do - allow(Gitlab::ServiceDesk).to receive(:supported?).and_return(true) + allow(::ServiceDesk).to receive(:supported?).and_return(true) end it { expect_disallowed(:read_label) } diff --git a/spec/policies/project_policy_spec.rb b/spec/policies/project_policy_spec.rb index bdaa95a1e3e5cc5314222650c5b5948811dc6173..b25040162af1a0ec2cdd76a3b32769c2e76a42c5 100644 --- a/spec/policies/project_policy_spec.rb +++ b/spec/policies/project_policy_spec.rb @@ -1125,7 +1125,7 @@ def set_access_level(access_level) context 'with service desk enabled' do before do - allow(::Gitlab::ServiceDesk).to receive(:enabled?).with(project).and_return(true) + allow(::ServiceDesk).to receive(:enabled?).with(project).and_return(true) end it { expect_allowed(:reporter_access, :create_note, :read_issue, :read_work_item) } diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml index 84f0513ef34d17d9075e395e2b04d62cf8be8571..614eee6c777df18d43240961e5c688025cf93a6b 100644 --- a/spec/support/rspec_order_todo.yml +++ b/spec/support/rspec_order_todo.yml @@ -5471,7 +5471,6 @@ - './spec/lib/gitlab/seeder_spec.rb' - './spec/lib/gitlab/serializer/ci/variables_spec.rb' - './spec/lib/gitlab/serializer/pagination_spec.rb' -- './spec/lib/gitlab/service_desk_spec.rb' - './spec/lib/gitlab/session_spec.rb' - './spec/lib/gitlab/setup_helper/praefect_spec.rb' - './spec/lib/gitlab/setup_helper/workhorse_spec.rb' diff --git a/spec/support/shared_contexts/email_shared_context.rb b/spec/support/shared_contexts/email_shared_context.rb index dfde28f4ce14bdb3d8404eeb42170da210068872..772591d2e2f5987ca8511e93e0720aa7336d970a 100644 --- a/spec/support/shared_contexts/email_shared_context.rb +++ b/spec/support/shared_contexts/email_shared_context.rb @@ -203,13 +203,13 @@ def service_desk_fixture(path, slug: nil, key: 'mykey') let(:email_raw) { with_quick_actions } let!(:sent_notification) do - allow(::Gitlab::ServiceDesk).to receive(:enabled?).with(project).and_return(true) + allow(::ServiceDesk).to receive(:enabled?).with(project).and_return(true) SentNotification.record_note(note, support_bot.id, mail_key) end context 'is enabled' do before do - allow(::Gitlab::ServiceDesk).to receive(:enabled?).with(project).and_return(true) + allow(::ServiceDesk).to receive(:enabled?).with(project).and_return(true) project.project_feature.update!(issues_access_level: issues_access_level) end @@ -273,8 +273,8 @@ def service_desk_fixture(path, slug: nil, key: 'mykey') context 'is disabled', unless: forwardable do before do - allow(::Gitlab::ServiceDesk).to receive(:enabled?).and_return(false) - allow(::Gitlab::ServiceDesk).to receive(:enabled?).with(project).and_return(false) + allow(::ServiceDesk).to receive(:enabled?).and_return(false) + allow(::ServiceDesk).to receive(:enabled?).with(project).and_return(false) end it 'does not create a comment' do