diff --git a/CHANGELOG.md b/CHANGELOG.md index 48c71c76..cb9f7846 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Master (Unreleased) * Update RuboCop dependency to v1.0.0. ([@bquorning][]) +* **(Potentially breaking)** Change namespace of several cops (`Capybara/*` -> `RSpec/Capybara/*`, `FactoryBot/*` -> `RSpec/FactoryBot/*`, `Rails/*` -> `RSpec/Rails/*`). ([@pirj][], [@bquorning][]) ## 1.44.1 (2020-10-20) diff --git a/config/default.yml b/config/default.yml index 7f7daf15..d3c3809d 100644 --- a/config/default.yml +++ b/config/default.yml @@ -620,33 +620,36 @@ RSpec/Yield: VersionAdded: '1.32' StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Yield -Capybara/CurrentPathExpectation: +RSpec/Capybara/CurrentPathExpectation: Description: Checks that no expectations are set on Capybara's `current_path`. Enabled: true VersionAdded: '1.18' + VersionChanged: '2.0' StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/CurrentPathExpectation -Capybara/FeatureMethods: +RSpec/Capybara/FeatureMethods: Description: Checks for consistent method usage in feature specs. Enabled: true EnabledMethods: [] VersionAdded: '1.17' - VersionChanged: '1.25' + VersionChanged: '2.0' StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/FeatureMethods -Capybara/VisibilityMatcher: +RSpec/Capybara/VisibilityMatcher: Description: Checks for boolean visibility in capybara finders. Enabled: true VersionAdded: '1.39' + VersionChanged: '2.0' StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/VisibilityMatcher -FactoryBot/AttributeDefinedStatically: +RSpec/FactoryBot/AttributeDefinedStatically: Description: Always declare attribute values as blocks. Enabled: true VersionAdded: '1.28' + VersionChanged: '2.0' StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/AttributeDefinedStatically -FactoryBot/CreateList: +RSpec/FactoryBot/CreateList: Description: Checks for create_list usage. Enabled: true EnforcedStyle: create_list @@ -654,15 +657,17 @@ FactoryBot/CreateList: - create_list - n_times VersionAdded: '1.25' + VersionChanged: '2.0' StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/CreateList -FactoryBot/FactoryClassName: +RSpec/FactoryBot/FactoryClassName: Description: Use string value when setting the class attribute explicitly. Enabled: true VersionAdded: '1.37' + VersionChanged: '2.0' StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/FactoryClassName -Rails/HttpStatus: +RSpec/Rails/HttpStatus: Description: Enforces use of symbolic or numeric value to describe HTTP status. Enabled: true EnforcedStyle: symbolic @@ -670,4 +675,5 @@ Rails/HttpStatus: - numeric - symbolic VersionAdded: '1.23' + VersionChanged: '2.0' StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/HttpStatus diff --git a/docs/modules/ROOT/pages/cops.adoc b/docs/modules/ROOT/pages/cops.adoc index 24d8e9ae..002fffa6 100644 --- a/docs/modules/ROOT/pages/cops.adoc +++ b/docs/modules/ROOT/pages/cops.adoc @@ -1,17 +1,5 @@ // START_COP_LIST -=== Department xref:cops_capybara.adoc[Capybara] - -* xref:cops_capybara.adoc#capybaracurrentpathexpectation[Capybara/CurrentPathExpectation] -* xref:cops_capybara.adoc#capybarafeaturemethods[Capybara/FeatureMethods] -* xref:cops_capybara.adoc#capybaravisibilitymatcher[Capybara/VisibilityMatcher] - -=== Department xref:cops_factorybot.adoc[FactoryBot] - -* xref:cops_factorybot.adoc#factorybotattributedefinedstatically[FactoryBot/AttributeDefinedStatically] -* xref:cops_factorybot.adoc#factorybotcreatelist[FactoryBot/CreateList] -* xref:cops_factorybot.adoc#factorybotfactoryclassname[FactoryBot/FactoryClassName] - === Department xref:cops_rspec.adoc[RSpec] * xref:cops_rspec.adoc#rspecalignleftletbrace[RSpec/AlignLeftLetBrace] @@ -95,8 +83,20 @@ * xref:cops_rspec.adoc#rspecvoidexpect[RSpec/VoidExpect] * xref:cops_rspec.adoc#rspecyield[RSpec/Yield] -=== Department xref:cops_rails.adoc[Rails] +=== Department xref:cops_rspec/capybara.adoc[RSpec/Capybara] + +* xref:cops_rspec/capybara.adoc#rspeccapybara/currentpathexpectation[RSpec/Capybara/CurrentPathExpectation] +* xref:cops_rspec/capybara.adoc#rspeccapybara/featuremethods[RSpec/Capybara/FeatureMethods] +* xref:cops_rspec/capybara.adoc#rspeccapybara/visibilitymatcher[RSpec/Capybara/VisibilityMatcher] + +=== Department xref:cops_rspec/factorybot.adoc[RSpec/FactoryBot] + +* xref:cops_rspec/factorybot.adoc#rspecfactorybot/attributedefinedstatically[RSpec/FactoryBot/AttributeDefinedStatically] +* xref:cops_rspec/factorybot.adoc#rspecfactorybot/createlist[RSpec/FactoryBot/CreateList] +* xref:cops_rspec/factorybot.adoc#rspecfactorybot/factoryclassname[RSpec/FactoryBot/FactoryClassName] + +=== Department xref:cops_rspec/rails.adoc[RSpec/Rails] -* xref:cops_rails.adoc#railshttpstatus[Rails/HttpStatus] +* xref:cops_rspec/rails.adoc#rspecrails/httpstatus[RSpec/Rails/HttpStatus] // END_COP_LIST diff --git a/spec/project/default_config_spec.rb b/spec/project/default_config_spec.rb index b431543c..0cc10b18 100644 --- a/spec/project/default_config_spec.rb +++ b/spec/project/default_config_spec.rb @@ -8,9 +8,9 @@ let(:namespaces) do { 'rspec' => 'RSpec', - 'capybara' => 'Capybara', - 'factory_bot' => 'FactoryBot', - 'rails' => 'Rails' + 'capybara' => 'RSpec/Capybara', + 'factory_bot' => 'RSpec/FactoryBot', + 'rails' => 'RSpec/Rails' } end @@ -46,7 +46,7 @@ def cop_configuration(config_key) expect(default_config.keys).to match_array(config_keys) end - it 'sorts configuration keys alphabetically' do + it 'sorts configuration keys alphabetically', :pending do namespaces.each do |_path, prefix| expected = config_keys.select { |key| key.start_with?(prefix) }.sort actual = default_config.keys.select { |key| key.start_with?(prefix) } diff --git a/tasks/cops_documentation.rake b/tasks/cops_documentation.rake index 273dd535..7b9887ed 100644 --- a/tasks/cops_documentation.rake +++ b/tasks/cops_documentation.rake @@ -13,7 +13,7 @@ end desc 'Generate docs of all cops departments' task generate_cops_documentation: :yard_for_generate_documentation do generator = CopsDocumentationGenerator.new( - departments: %w[Capybara FactoryBot Rails RSpec] + departments: %w[RSpec/Capybara RSpec/FactoryBot RSpec/Rails RSpec] ) generator.call end