Skip to content

RSpec/DescribedClass: Configure `SkipBlocks: true`

Peter Leitzen requested to merge pl-rspec-described-class-skip-blocks into master

What does this MR do and why?

Configure SkipBlocks: true in RSpec/DescribedClass 👮 rule.

Accept code like this:

# acceptable
describe MyConcern do
  controller(ApplicationController) do
    include MyConcern
  end
end

Previously, we had to disable this rule inline in those cases.

# acceptable
describe MyConcern do
  controller(ApplicationController) do
    include MyConcern # rubocop:disable RSpec/DescribedClass
  end
end

Impact on gitlab-org/gitlab

With this change we can drop a couple of inline disables:

diff --git a/ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb b/ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb
index 7551f3094644..74b0e86db898 100644
--- a/ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb
+++ b/ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb
@@ -4,7 +4,7 @@
 
 RSpec.describe GitlabSubscriptions::SeatCountAlert, feature_category: :subscription_management do
   controller(ActionController::Base) do
-    include GitlabSubscriptions::SeatCountAlert # rubocop:disable RSpec/DescribedClass
+    include GitlabSubscriptions::SeatCountAlert
   end
 
   let_it_be(:user) { create(:user) }
diff --git a/ee/spec/controllers/concerns/registrations/verification_spec.rb b/ee/spec/controllers/concerns/registrations/verification_spec.rb
index 011773630ce0..77f058c324c1 100644
--- a/ee/spec/controllers/concerns/registrations/verification_spec.rb
+++ b/ee/spec/controllers/concerns/registrations/verification_spec.rb
@@ -4,7 +4,7 @@
 
 RSpec.describe Registrations::Verification, feature_category: :onboarding do
   controller(ActionController::Base) do
-    include Registrations::Verification # rubocop:disable RSpec/DescribedClass
+    include Registrations::Verification
 
     before_action :set_requires_verification, only: :new
 
diff --git a/ee/spec/controllers/concerns/routable_actions_spec.rb b/ee/spec/controllers/concerns/routable_actions_spec.rb
index 5307e92c11d2..b1ac74ee8c00 100644
--- a/ee/spec/controllers/concerns/routable_actions_spec.rb
+++ b/ee/spec/controllers/concerns/routable_actions_spec.rb
@@ -4,7 +4,7 @@
 
 RSpec.describe RoutableActions, feature_category: :authentication_and_authorization do
   controller(::ApplicationController) do
-    include RoutableActions # rubocop:disable RSpec/DescribedClass
+    include RoutableActions
 
     before_action :routable
 
diff --git a/ee/spec/lib/gitlab/geo/log_helpers_spec.rb b/ee/spec/lib/gitlab/geo/log_helpers_spec.rb
index ab58600f4710..f480509e1d78 100644
--- a/ee/spec/lib/gitlab/geo/log_helpers_spec.rb
+++ b/ee/spec/lib/gitlab/geo/log_helpers_spec.rb
@@ -7,7 +7,7 @@
     stub_const('FakeLogHelpersConsumer', Class.new)
 
     FakeLogHelpersConsumer.class_eval do
-      include Gitlab::Geo::LogHelpers # rubocop:disable RSpec/DescribedClass
+      include Gitlab::Geo::LogHelpers
 
       def execute
         log_error('Test message')
diff --git a/spec/controllers/concerns/preferred_language_switcher_spec.rb b/spec/controllers/concerns/preferred_language_switcher_spec.rb
index 40d6ac10c379..a6f6c7d8a4dc 100644
--- a/spec/controllers/concerns/preferred_language_switcher_spec.rb
+++ b/spec/controllers/concerns/preferred_language_switcher_spec.rb
@@ -4,7 +4,7 @@
 
 RSpec.describe PreferredLanguageSwitcher, type: :controller do
   controller(ActionController::Base) do
-    include PreferredLanguageSwitcher # rubocop:disable RSpec/DescribedClass
+    include PreferredLanguageSwitcher
 
     before_action :init_preferred_language, only: :new
 
diff --git a/spec/lib/gitlab/quick_actions/dsl_spec.rb b/spec/lib/gitlab/quick_actions/dsl_spec.rb
index c0469537c68b..72cfc07cd582 100644
--- a/spec/lib/gitlab/quick_actions/dsl_spec.rb
+++ b/spec/lib/gitlab/quick_actions/dsl_spec.rb
@@ -6,7 +6,7 @@
   before do
     stub_const('DummyClass', Struct.new(:project))
     DummyClass.class_eval do
-      include Gitlab::QuickActions::Dsl # rubocop:disable RSpec/DescribedClass
+      include Gitlab::QuickActions::Dsl
 
       desc 'A command with no args'
       command :no_args, :none do
diff --git a/spec/models/concerns/triggerable_hooks_spec.rb b/spec/models/concerns/triggerable_hooks_spec.rb
index 5682a189c41f..586e2e47ee16 100644
--- a/spec/models/concerns/triggerable_hooks_spec.rb
+++ b/spec/models/concerns/triggerable_hooks_spec.rb
@@ -7,7 +7,7 @@
     stub_const('TestableHook', Class.new(WebHook))
 
     TestableHook.class_eval do
-      include TriggerableHooks # rubocop:disable RSpec/DescribedClass
+      include TriggerableHooks
       triggerable_hooks [:push_hooks]
     end
   end
Edited by Peter Leitzen

Merge request reports