rubocop-rspec 1.43.2 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -4
  3. data/README.md +5 -1
  4. data/config/default.yml +183 -67
  5. data/lib/rubocop-rspec.rb +7 -8
  6. data/lib/rubocop/cop/rspec/align_left_let_brace.rb +7 -3
  7. data/lib/rubocop/cop/rspec/align_right_let_brace.rb +7 -3
  8. data/lib/rubocop/cop/rspec/around_block.rb +2 -2
  9. data/lib/rubocop/cop/rspec/base.rb +7 -54
  10. data/lib/rubocop/cop/rspec/be.rb +2 -2
  11. data/lib/rubocop/cop/rspec/before_after_all.rb +3 -3
  12. data/lib/rubocop/cop/rspec/capybara/current_path_expectation.rb +2 -2
  13. data/lib/rubocop/cop/rspec/capybara/feature_methods.rb +3 -2
  14. data/lib/rubocop/cop/rspec/describe_class.rb +34 -15
  15. data/lib/rubocop/cop/rspec/describe_method.rb +2 -2
  16. data/lib/rubocop/cop/rspec/described_class.rb +1 -2
  17. data/lib/rubocop/cop/rspec/described_class_module_wrapping.rb +1 -2
  18. data/lib/rubocop/cop/rspec/dialect.rb +1 -1
  19. data/lib/rubocop/cop/rspec/empty_example_group.rb +33 -38
  20. data/lib/rubocop/cop/rspec/empty_hook.rb +1 -1
  21. data/lib/rubocop/cop/rspec/empty_line_after_example.rb +1 -1
  22. data/lib/rubocop/cop/rspec/empty_line_after_example_group.rb +1 -1
  23. data/lib/rubocop/cop/rspec/empty_line_after_final_let.rb +1 -1
  24. data/lib/rubocop/cop/rspec/empty_line_after_hook.rb +1 -1
  25. data/lib/rubocop/cop/rspec/empty_line_after_subject.rb +2 -2
  26. data/lib/rubocop/cop/rspec/expect_actual.rb +2 -1
  27. data/lib/rubocop/cop/rspec/expect_in_hook.rb +1 -1
  28. data/lib/rubocop/cop/rspec/expect_output.rb +1 -1
  29. data/lib/rubocop/cop/rspec/file_path.rb +1 -1
  30. data/lib/rubocop/cop/rspec/focus.rb +13 -7
  31. data/lib/rubocop/cop/rspec/hook_argument.rb +2 -4
  32. data/lib/rubocop/cop/rspec/hooks_before_examples.rb +2 -2
  33. data/lib/rubocop/cop/rspec/implicit_block_expectation.rb +1 -2
  34. data/lib/rubocop/cop/rspec/implicit_expect.rb +1 -1
  35. data/lib/rubocop/cop/rspec/instance_spy.rb +1 -1
  36. data/lib/rubocop/cop/rspec/instance_variable.rb +1 -1
  37. data/lib/rubocop/cop/rspec/it_behaves_like.rb +1 -1
  38. data/lib/rubocop/cop/rspec/iterated_expectation.rb +1 -1
  39. data/lib/rubocop/cop/rspec/let_before_examples.rb +2 -2
  40. data/lib/rubocop/cop/rspec/let_setup.rb +7 -4
  41. data/lib/rubocop/cop/rspec/message_spies.rb +3 -3
  42. data/lib/rubocop/cop/rspec/mixin/empty_line_separation.rb +51 -0
  43. data/lib/rubocop/cop/rspec/mixin/final_end_location.rb +19 -0
  44. data/lib/rubocop/cop/rspec/mixin/top_level_group.rb +54 -0
  45. data/lib/rubocop/cop/rspec/mixin/variable.rb +20 -0
  46. data/lib/rubocop/cop/rspec/multiple_describes.rb +2 -3
  47. data/lib/rubocop/cop/rspec/multiple_expectations.rb +1 -1
  48. data/lib/rubocop/cop/rspec/multiple_memoized_helpers.rb +3 -1
  49. data/lib/rubocop/cop/rspec/named_subject.rb +8 -12
  50. data/lib/rubocop/cop/rspec/nested_groups.rb +1 -1
  51. data/lib/rubocop/cop/rspec/overwriting_setup.rb +2 -1
  52. data/lib/rubocop/cop/rspec/pending.rb +13 -5
  53. data/lib/rubocop/cop/rspec/predicate_matcher.rb +3 -3
  54. data/lib/rubocop/cop/rspec/repeated_include_example.rb +104 -0
  55. data/lib/rubocop/cop/rspec/scattered_setup.rb +1 -1
  56. data/lib/rubocop/cop/rspec/shared_context.rb +18 -11
  57. data/lib/rubocop/cop/rspec/shared_examples.rb +3 -1
  58. data/lib/rubocop/cop/rspec/single_argument_message_chain.rb +1 -1
  59. data/lib/rubocop/cop/rspec/stubbed_mock.rb +172 -0
  60. data/lib/rubocop/cop/rspec/subject_stub.rb +20 -10
  61. data/lib/rubocop/cop/rspec/variable_definition.rb +1 -1
  62. data/lib/rubocop/cop/rspec/variable_name.rb +1 -1
  63. data/lib/rubocop/cop/rspec_cops.rb +2 -1
  64. data/lib/rubocop/rspec/align_let_brace.rb +1 -1
  65. data/lib/rubocop/rspec/concept.rb +2 -2
  66. data/lib/rubocop/rspec/config_formatter.rb +5 -3
  67. data/lib/rubocop/rspec/corrector/move_node.rb +1 -1
  68. data/lib/rubocop/rspec/example_group.rb +15 -5
  69. data/lib/rubocop/rspec/hook.rb +2 -6
  70. data/lib/rubocop/rspec/inject.rb +4 -2
  71. data/lib/rubocop/rspec/language.rb +144 -105
  72. data/lib/rubocop/rspec/language/node_pattern.rb +7 -24
  73. data/lib/rubocop/rspec/node.rb +1 -1
  74. data/lib/rubocop/rspec/version.rb +1 -1
  75. metadata +25 -13
  76. data/lib/rubocop/cop/rspec/cop.rb +0 -10
  77. data/lib/rubocop/cop/rspec/invalid_predicate_matcher.rb +0 -41
  78. data/lib/rubocop/rspec.rb +0 -12
  79. data/lib/rubocop/rspec/empty_line_separation.rb +0 -48
  80. data/lib/rubocop/rspec/final_end_location.rb +0 -17
  81. data/lib/rubocop/rspec/top_level_describe.rb +0 -52
  82. data/lib/rubocop/rspec/top_level_group.rb +0 -57
  83. data/lib/rubocop/rspec/variable.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d294600ca379bc470a03a4f321754ddafd18ccc67f405dfe4b7be415d7486354
4
- data.tar.gz: 465ba74f6309c23bbe0473a11fff879240f84ae22edce0ce71735e0597d64b93
3
+ metadata.gz: ddf35b53864596c6fb017de51fcb89ba77720471a3eaa2dd02f250da1b434ffe
4
+ data.tar.gz: a1aefe9d16cccac1d0d3d3bb19704e46cc91041c9f9c83f26cabbf419d75e162
5
5
  SHA512:
6
- metadata.gz: 6bc9d6c638aaa87f89af987ffeed7d169becaa8d95a3798442285a5dfdb0fff0150bd092f5fbef047b14366c451f9682a3d1fd8f35c1e2a4f48902d586eff3be
7
- data.tar.gz: db4bf7903df2e82900c01d4318dcccdfd10be7ce251d2b472d1fb321f79523505f077d7683325060ad626b82dc52c3ee462ff437a1f7dff668492264f99d45db
6
+ metadata.gz: 677edcd80bb8883e1c786f7a3d8665eac1082341652b050b2188f8cd242b5c632181f569081e7c656765a2abb8ce453c074aa1d1b7dd7304b830928da157bcc9
7
+ data.tar.gz: 8b0a8211d5593d0bd20e984ff0daad1473c8b4ab75d7068aad3018dbc1b9036aa731d0c7aff7f12f9df8dbde91f554b4aabc002940000597ba2c8c4ee391ca5b
@@ -1,7 +1,38 @@
1
- # Change log
1
+ # Changelog
2
2
 
3
3
  ## Master (Unreleased)
4
4
 
5
+ ## 2.0.1 (2020-12-02)
6
+
7
+ * Fixed infinite loop in `RSpec/ExpectActual` autocorrection when both expected and actual values are literals. ([@Darhazer][])
8
+
9
+ ## 2.0.0 (2020-11-06)
10
+
11
+ * Remove deprecated class `::RuboCop::Cop::RSpec::Cop`. ([@bquorning][])
12
+ * Retire `RSpec/InvalidPredicateMatcher` cop. ([@pirj][])
13
+ * Remove the code responsible for filtering files to inspect. ([@pirj][])
14
+ * Make RSpec language elements configurable. ([@sl4vr][])
15
+ * Remove `CustomIncludeMethods` `RSpec/EmptyExampleGroup` option in favour of the new RSpec DSL configuration. ([@pirj][])
16
+ * Enabled pending cop (`RSpec/StubbedMock`). ([@pirj][])
17
+
18
+ ## 2.0.0.pre (2020-10-22)
19
+
20
+ * Update RuboCop dependency to v1.0.0. ([@bquorning][])
21
+ * Change namespace of several cops (`Capybara/*` -> `RSpec/Capybara/*`, `FactoryBot/*` -> `RSpec/FactoryBot/*`, `Rails/*` -> `RSpec/Rails/*`). ([@pirj][], [@bquorning][])
22
+
23
+ ## 1.44.1 (2020-10-20)
24
+
25
+ * Relax `rubocop-ast` version constraint. ([@PhilCoggins][])
26
+
27
+ ## 1.44.0 (2020-10-20)
28
+
29
+ * Move our documentation from rubocop-rspec.readthedocs.io to docs.rubocop.org/rubocop-rspec. ([@bquorning][])
30
+ * Add `RSpec/RepeatedIncludeExample` cop. ([@biinari][])
31
+ * Add `RSpec/StubbedMock` cop. ([@bquorning][], [@pirj][])
32
+ * Add `IgnoredMetadata` configuration option to `RSpec/DescribeClass`. ([@Rafix02][])
33
+ * Fix false positives in `RSpec/EmptyExampleGroup`. ([@pirj][])
34
+ * Fix a false positive for `RSpec/EmptyExampleGroup` when example is defined in an `if` branch. ([@koic][])
35
+
5
36
  ## 1.43.2 (2020-08-25)
6
37
 
7
38
  * Fix `RSpec/FilePath` when checking a file with a shared example. ([@pirj][])
@@ -506,8 +537,8 @@ Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
506
537
  [@rspeicher]: https://github.com/rspeicher
507
538
  [@jonatas]: https://github.com/jonatas
508
539
  [@pocke]: https://github.com/pocke
509
- [@bmorrall]: https:/github.com/bmorrall
510
- [@zverok]: https:/github.com/zverok
540
+ [@bmorrall]: https://github.com/bmorrall
541
+ [@zverok]: https://github.com/zverok
511
542
  [@timrogers]: https://github.com/timrogers
512
543
  [@yevhene]: https://github.com/yevhene
513
544
  [@walf443]: https://github.com/walf443
@@ -552,6 +583,10 @@ Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
552
583
  [@andrykonchin]: https://github.com/andrykonchin
553
584
  [@harrylewis]: https://github.com/harrylewis
554
585
  [@elliterate]: https://github.com/elliterate
555
- [@mlarraz]: https://github.com/mlarraz
556
586
  [@jtannas]: https://github.com/jtannas
557
587
  [@mockdeep]: https://github.com/mockdeep
588
+ [@biinari]: https://github.com/biinari
589
+ [@koic]: https://github.com/koic
590
+ [@Rafix02]: https://github.com/Rafix02
591
+ [@PhilCoggins]: https://github.com/PhilCoggins
592
+ [@sl4vr]: https://github.com/sl4vr
data/README.md CHANGED
@@ -23,6 +23,10 @@ or if you use bundler put this in your `Gemfile`
23
23
  gem 'rubocop-rspec', require: false
24
24
  ```
25
25
 
26
+ ### Upgrading to RuboCop RSpec v2.x
27
+
28
+ Read all the details in our [Upgrade to Version 2.x](https://docs.rubocop.org/rubocop-rspec/2.0/upgrade_to_version_2.html) document.
29
+
26
30
  ## Usage
27
31
 
28
32
  You need to tell RuboCop to load the RSpec extension. There are three
@@ -67,7 +71,7 @@ rubocop-rspec is available on Code Climate as part of the rubocop engine. [Learn
67
71
 
68
72
  ## Documentation
69
73
 
70
- You can read more about RuboCop-RSpec in its [official manual](https://docs.rubocop.org/rubocop-rspec).
74
+ You can read more about RuboCop RSpec in its [official manual](https://docs.rubocop.org/rubocop-rspec).
71
75
 
72
76
  ## The Cops
73
77
 
@@ -1,14 +1,85 @@
1
1
  ---
2
- AllCops:
3
- RSpec:
4
- Patterns:
5
- - _spec.rb
6
- - "(?:^|/)spec/"
7
- RSpec/FactoryBot:
8
- Patterns:
9
- - spec/factories.rb
10
- - spec/factories/**/*.rb
11
- - features/support/factories/**/*.rb
2
+ RSpec:
3
+ Include:
4
+ - "**/*_spec.rb"
5
+ - "**/spec/**/*"
6
+ Language:
7
+ ExampleGroups:
8
+ Regular:
9
+ - describe
10
+ - context
11
+ - feature
12
+ - example_group
13
+ Skipped:
14
+ - xdescribe
15
+ - xcontext
16
+ - xfeature
17
+ Focused:
18
+ - fdescribe
19
+ - fcontext
20
+ - ffeature
21
+ Examples:
22
+ Regular:
23
+ - it
24
+ - specify
25
+ - example
26
+ - scenario
27
+ - its
28
+ Focused:
29
+ - fit
30
+ - fspecify
31
+ - fexample
32
+ - fscenario
33
+ - focus
34
+ Skipped:
35
+ - xit
36
+ - xspecify
37
+ - xexample
38
+ - xscenario
39
+ - skip
40
+ Pending:
41
+ - pending
42
+ Expectations:
43
+ - expect
44
+ - is_expected
45
+ - expect_any_instance_of
46
+ Helpers:
47
+ - let
48
+ - let!
49
+ Hooks:
50
+ - prepend_before
51
+ - before
52
+ - append_before
53
+ - around
54
+ - prepend_after
55
+ - after
56
+ - append_after
57
+ HookScopes:
58
+ - each
59
+ - example
60
+ - context
61
+ - all
62
+ - suite
63
+ Includes:
64
+ Examples:
65
+ - it_behaves_like
66
+ - it_should_behave_like
67
+ - include_examples
68
+ Context:
69
+ - include_context
70
+ Runners:
71
+ - to
72
+ - to_not
73
+ - not_to
74
+ SharedGroups:
75
+ Examples:
76
+ - shared_examples
77
+ - shared_examples_for
78
+ Context:
79
+ - shared_context
80
+ Subjects:
81
+ - subject
82
+ - subject!
12
83
 
13
84
  RSpec/AlignLeftLetBrace:
14
85
  Description: Checks that left braces for adjacent single line lets are aligned.
@@ -50,9 +121,9 @@ RSpec/BeforeAfterAll:
50
121
  Description: Check that before/after(:all) isn't being used.
51
122
  Enabled: true
52
123
  Exclude:
53
- - spec/spec_helper.rb
54
- - spec/rails_helper.rb
55
- - spec/support/**/*.rb
124
+ - spec/spec_helper.rb
125
+ - spec/rails_helper.rb
126
+ - spec/support/**/*.rb
56
127
  VersionAdded: '1.12'
57
128
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/BeforeAfterAll
58
129
 
@@ -66,9 +137,9 @@ RSpec/ContextWording:
66
137
  Description: Checks that `context` docstring starts with an allowed prefix.
67
138
  Enabled: true
68
139
  Prefixes:
69
- - when
70
- - with
71
- - without
140
+ - when
141
+ - with
142
+ - without
72
143
  VersionAdded: '1.20'
73
144
  VersionChanged: 1.20.1
74
145
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ContextWording
@@ -76,7 +147,23 @@ RSpec/ContextWording:
76
147
  RSpec/DescribeClass:
77
148
  Description: Check that the first argument to the top-level describe is a constant.
78
149
  Enabled: true
150
+ IgnoredMetadata:
151
+ type:
152
+ - channel
153
+ - controller
154
+ - helper
155
+ - job
156
+ - mailer
157
+ - model
158
+ - request
159
+ - routing
160
+ - view
161
+ - feature
162
+ - system
163
+ - mailbox
164
+ - aruba
79
165
  VersionAdded: '1.0'
166
+ VersionChanged: '1.44'
80
167
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/DescribeClass
81
168
 
82
169
  RSpec/DescribeMethod:
@@ -97,8 +184,8 @@ RSpec/DescribedClass:
97
184
  SkipBlocks: false
98
185
  EnforcedStyle: described_class
99
186
  SupportedStyles:
100
- - described_class
101
- - explicit
187
+ - described_class
188
+ - explicit
102
189
  SafeAutoCorrect: false
103
190
  VersionAdded: '1.0'
104
191
  VersionChanged: '1.11'
@@ -120,8 +207,8 @@ RSpec/Dialect:
120
207
  RSpec/EmptyExampleGroup:
121
208
  Description: Checks if an example group does not include any tests.
122
209
  Enabled: true
123
- CustomIncludeMethods: []
124
210
  VersionAdded: '1.7'
211
+ VersionChanged: '2.0'
125
212
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyExampleGroup
126
213
 
127
214
  RSpec/EmptyHook:
@@ -173,9 +260,9 @@ RSpec/ExampleWithoutDescription:
173
260
  Enabled: true
174
261
  EnforcedStyle: always_allow
175
262
  SupportedStyles:
176
- - always_allow
177
- - single_line_only
178
- - disallow
263
+ - always_allow
264
+ - single_line_only
265
+ - disallow
179
266
  VersionAdded: '1.22'
180
267
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExampleWithoutDescription
181
268
 
@@ -196,7 +283,7 @@ RSpec/ExpectActual:
196
283
  Description: Checks for `expect(...)` calls containing literal values.
197
284
  Enabled: true
198
285
  Exclude:
199
- - spec/routing/**/*
286
+ - spec/routing/**/*
200
287
  VersionAdded: '1.7'
201
288
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectActual
202
289
 
@@ -205,8 +292,8 @@ RSpec/ExpectChange:
205
292
  Enabled: true
206
293
  EnforcedStyle: method_call
207
294
  SupportedStyles:
208
- - method_call
209
- - block
295
+ - method_call
296
+ - block
210
297
  VersionAdded: '1.22'
211
298
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectChange
212
299
 
@@ -225,6 +312,9 @@ RSpec/ExpectOutput:
225
312
  RSpec/FilePath:
226
313
  Description: Checks that spec file paths are consistent and well-formed.
227
314
  Enabled: true
315
+ Include:
316
+ - "**/*_spec*rb*"
317
+ - "**/spec/**/*"
228
318
  CustomTransform:
229
319
  RuboCop: rubocop
230
320
  RSpec: rspec
@@ -245,9 +335,9 @@ RSpec/HookArgument:
245
335
  Enabled: true
246
336
  EnforcedStyle: implicit
247
337
  SupportedStyles:
248
- - implicit
249
- - each
250
- - example
338
+ - implicit
339
+ - each
340
+ - example
251
341
  VersionAdded: '1.7'
252
342
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/HookArgument
253
343
 
@@ -268,8 +358,8 @@ RSpec/ImplicitExpect:
268
358
  Enabled: true
269
359
  EnforcedStyle: is_expected
270
360
  SupportedStyles:
271
- - is_expected
272
- - should
361
+ - is_expected
362
+ - should
273
363
  VersionAdded: '1.8'
274
364
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ImplicitExpect
275
365
 
@@ -278,9 +368,9 @@ RSpec/ImplicitSubject:
278
368
  Enabled: true
279
369
  EnforcedStyle: single_line_only
280
370
  SupportedStyles:
281
- - single_line_only
282
- - single_statement_only
283
- - disallow
371
+ - single_line_only
372
+ - single_statement_only
373
+ - disallow
284
374
  VersionAdded: '1.29'
285
375
  VersionChanged: '1.30'
286
376
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ImplicitSubject
@@ -299,19 +389,13 @@ RSpec/InstanceVariable:
299
389
  VersionChanged: '1.7'
300
390
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/InstanceVariable
301
391
 
302
- RSpec/InvalidPredicateMatcher:
303
- Description: Checks invalid usage for predicate matcher.
304
- Enabled: true
305
- VersionAdded: '1.16'
306
- StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/InvalidPredicateMatcher
307
-
308
392
  RSpec/ItBehavesLike:
309
393
  Description: Checks that only one `it_behaves_like` style is used.
310
394
  Enabled: true
311
395
  EnforcedStyle: it_behaves_like
312
396
  SupportedStyles:
313
- - it_behaves_like
314
- - it_should_behave_like
397
+ - it_behaves_like
398
+ - it_should_behave_like
315
399
  VersionAdded: '1.13'
316
400
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ItBehavesLike
317
401
 
@@ -358,8 +442,8 @@ RSpec/MessageExpectation:
358
442
  Enabled: false
359
443
  EnforcedStyle: allow
360
444
  SupportedStyles:
361
- - allow
362
- - expect
445
+ - allow
446
+ - expect
363
447
  VersionAdded: '1.7'
364
448
  VersionChanged: '1.8'
365
449
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MessageExpectation
@@ -369,8 +453,8 @@ RSpec/MessageSpies:
369
453
  Enabled: true
370
454
  EnforcedStyle: have_received
371
455
  SupportedStyles:
372
- - have_received
373
- - receive
456
+ - have_received
457
+ - receive
374
458
  VersionAdded: '1.9'
375
459
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MessageSpies
376
460
 
@@ -428,8 +512,8 @@ RSpec/NotToNot:
428
512
  Enabled: true
429
513
  EnforcedStyle: not_to
430
514
  SupportedStyles:
431
- - not_to
432
- - to_not
515
+ - not_to
516
+ - to_not
433
517
  VersionAdded: '1.4'
434
518
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/NotToNot
435
519
 
@@ -452,8 +536,8 @@ RSpec/PredicateMatcher:
452
536
  EnforcedStyle: inflected
453
537
  AllowedExplicitMatchers: []
454
538
  SupportedStyles:
455
- - inflected
456
- - explicit
539
+ - inflected
540
+ - explicit
457
541
  SafeAutoCorrect: false
458
542
  VersionAdded: '1.16'
459
543
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/PredicateMatcher
@@ -494,13 +578,19 @@ RSpec/RepeatedExampleGroupDescription:
494
578
  VersionAdded: '1.38'
495
579
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedExampleGroupDescription
496
580
 
581
+ RSpec/RepeatedIncludeExample:
582
+ Description: Check for repeated include of shared examples.
583
+ Enabled: true
584
+ VersionAdded: '1.44'
585
+ StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedIncludeExample
586
+
497
587
  RSpec/ReturnFromStub:
498
588
  Description: Checks for consistent style of stub's return setting.
499
589
  Enabled: true
500
590
  EnforcedStyle: and_return
501
591
  SupportedStyles:
502
- - and_return
503
- - block
592
+ - and_return
593
+ - block
504
594
  VersionAdded: '1.16'
505
595
  VersionChanged: '1.22'
506
596
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ReturnFromStub
@@ -537,6 +627,12 @@ RSpec/SingleArgumentMessageChain:
537
627
  VersionChanged: '1.10'
538
628
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SingleArgumentMessageChain
539
629
 
630
+ RSpec/StubbedMock:
631
+ Description: Checks that message expectations do not have a configured response.
632
+ Enabled: true
633
+ VersionAdded: '1.44'
634
+ StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/StubbedMock
635
+
540
636
  RSpec/SubjectStub:
541
637
  Description: Checks for stubbed test subjects.
542
638
  Enabled: true
@@ -554,8 +650,8 @@ RSpec/VariableDefinition:
554
650
  Enabled: true
555
651
  EnforcedStyle: symbols
556
652
  SupportedStyles:
557
- - symbols
558
- - strings
653
+ - symbols
654
+ - strings
559
655
  VersionAdded: '1.40'
560
656
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/VariableDefinition
561
657
 
@@ -564,8 +660,8 @@ RSpec/VariableName:
564
660
  Enabled: true
565
661
  EnforcedStyle: snake_case
566
662
  SupportedStyles:
567
- - snake_case
568
- - camelCase
663
+ - snake_case
664
+ - camelCase
569
665
  IgnoredPatterns: []
570
666
  VersionAdded: '1.40'
571
667
  VersionChanged: '1.43'
@@ -592,54 +688,74 @@ RSpec/Yield:
592
688
  VersionAdded: '1.32'
593
689
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Yield
594
690
 
595
- Capybara/CurrentPathExpectation:
691
+ RSpec/Capybara/CurrentPathExpectation:
596
692
  Description: Checks that no expectations are set on Capybara's `current_path`.
597
693
  Enabled: true
598
694
  VersionAdded: '1.18'
695
+ VersionChanged: '2.0'
599
696
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/CurrentPathExpectation
600
697
 
601
- Capybara/FeatureMethods:
698
+ RSpec/Capybara/FeatureMethods:
602
699
  Description: Checks for consistent method usage in feature specs.
603
700
  Enabled: true
604
701
  EnabledMethods: []
605
702
  VersionAdded: '1.17'
606
- VersionChanged: '1.25'
703
+ VersionChanged: '2.0'
607
704
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/FeatureMethods
608
705
 
609
- Capybara/VisibilityMatcher:
706
+ RSpec/Capybara/VisibilityMatcher:
610
707
  Description: Checks for boolean visibility in capybara finders.
611
708
  Enabled: true
612
709
  VersionAdded: '1.39'
710
+ VersionChanged: '2.0'
613
711
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/VisibilityMatcher
614
712
 
615
- FactoryBot/AttributeDefinedStatically:
713
+ RSpec/FactoryBot/AttributeDefinedStatically:
616
714
  Description: Always declare attribute values as blocks.
617
715
  Enabled: true
716
+ Include:
717
+ - spec/factories.rb
718
+ - spec/factories/**/*.rb
719
+ - features/support/factories/**/*.rb
618
720
  VersionAdded: '1.28'
721
+ VersionChanged: '2.0'
619
722
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/AttributeDefinedStatically
620
723
 
621
- FactoryBot/CreateList:
724
+ RSpec/FactoryBot/CreateList:
622
725
  Description: Checks for create_list usage.
623
726
  Enabled: true
727
+ Include:
728
+ - "**/*_spec.rb"
729
+ - "**/spec/**/*"
730
+ - spec/factories.rb
731
+ - spec/factories/**/*.rb
732
+ - features/support/factories/**/*.rb
624
733
  EnforcedStyle: create_list
625
734
  SupportedStyles:
626
- - create_list
627
- - n_times
735
+ - create_list
736
+ - n_times
628
737
  VersionAdded: '1.25'
738
+ VersionChanged: '2.0'
629
739
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/CreateList
630
740
 
631
- FactoryBot/FactoryClassName:
741
+ RSpec/FactoryBot/FactoryClassName:
632
742
  Description: Use string value when setting the class attribute explicitly.
633
743
  Enabled: true
744
+ Include:
745
+ - spec/factories.rb
746
+ - spec/factories/**/*.rb
747
+ - features/support/factories/**/*.rb
634
748
  VersionAdded: '1.37'
749
+ VersionChanged: '2.0'
635
750
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/FactoryClassName
636
751
 
637
- Rails/HttpStatus:
752
+ RSpec/Rails/HttpStatus:
638
753
  Description: Enforces use of symbolic or numeric value to describe HTTP status.
639
754
  Enabled: true
640
755
  EnforcedStyle: symbolic
641
756
  SupportedStyles:
642
- - numeric
643
- - symbolic
757
+ - numeric
758
+ - symbolic
644
759
  VersionAdded: '1.23'
760
+ VersionChanged: '2.0'
645
761
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/HttpStatus