rspec-rails 3.7.2 → 5.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +5 -5
  2. checksums.yaml.gz.sig +0 -0
  3. data/Capybara.md +5 -54
  4. data/Changelog.md +333 -71
  5. data/README.md +278 -498
  6. data/lib/generators/rspec/channel/channel_generator.rb +12 -0
  7. data/lib/generators/rspec/{observer/templates/observer_spec.rb → channel/templates/channel_spec.rb.erb} +1 -1
  8. data/lib/generators/rspec/controller/controller_generator.rb +22 -5
  9. data/lib/generators/rspec/controller/templates/request_spec.rb +19 -0
  10. data/lib/generators/rspec/controller/templates/routing_spec.rb +13 -0
  11. data/lib/generators/rspec/feature/feature_generator.rb +4 -4
  12. data/lib/generators/rspec/generator/generator_generator.rb +24 -0
  13. data/lib/generators/rspec/generator/templates/generator_spec.rb +6 -0
  14. data/lib/generators/rspec/helper/helper_generator.rb +1 -1
  15. data/lib/generators/rspec/install/install_generator.rb +4 -4
  16. data/lib/generators/rspec/install/templates/spec/rails_helper.rb +25 -12
  17. data/lib/generators/rspec/integration/integration_generator.rb +4 -4
  18. data/lib/generators/rspec/integration/templates/request_spec.rb +1 -1
  19. data/lib/generators/rspec/job/job_generator.rb +2 -1
  20. data/lib/generators/rspec/job/templates/job_spec.rb.erb +1 -1
  21. data/lib/generators/rspec/mailbox/mailbox_generator.rb +14 -0
  22. data/lib/generators/rspec/mailbox/templates/mailbox_spec.rb.erb +7 -0
  23. data/lib/generators/rspec/mailer/mailer_generator.rb +2 -1
  24. data/lib/generators/rspec/mailer/templates/mailer_spec.rb +2 -2
  25. data/lib/generators/rspec/mailer/templates/preview.rb +1 -1
  26. data/lib/generators/rspec/model/model_generator.rb +6 -5
  27. data/lib/generators/rspec/model/templates/fixtures.yml +1 -1
  28. data/lib/generators/rspec/request/request_generator.rb +1 -1
  29. data/lib/generators/rspec/scaffold/scaffold_generator.rb +47 -23
  30. data/lib/generators/rspec/scaffold/templates/api_controller_spec.rb +15 -51
  31. data/lib/generators/rspec/scaffold/templates/api_request_spec.rb +131 -0
  32. data/lib/generators/rspec/scaffold/templates/controller_spec.rb +17 -65
  33. data/lib/generators/rspec/scaffold/templates/edit_spec.rb +1 -5
  34. data/lib/generators/rspec/scaffold/templates/index_spec.rb +2 -2
  35. data/lib/generators/rspec/scaffold/templates/new_spec.rb +1 -5
  36. data/lib/generators/rspec/scaffold/templates/request_spec.rb +138 -0
  37. data/lib/generators/rspec/scaffold/templates/routing_spec.rb +10 -13
  38. data/lib/generators/rspec/scaffold/templates/show_spec.rb +1 -1
  39. data/lib/generators/rspec/system/system_generator.rb +24 -0
  40. data/lib/generators/rspec/system/templates/system_spec.rb +9 -0
  41. data/lib/generators/rspec/view/view_generator.rb +2 -2
  42. data/lib/generators/rspec.rb +0 -6
  43. data/lib/rspec/rails/adapters.rb +11 -76
  44. data/lib/rspec/rails/configuration.rb +82 -37
  45. data/lib/rspec/rails/example/channel_example_group.rb +93 -0
  46. data/lib/rspec/rails/example/controller_example_group.rb +5 -4
  47. data/lib/rspec/rails/example/feature_example_group.rb +6 -26
  48. data/lib/rspec/rails/example/helper_example_group.rb +2 -9
  49. data/lib/rspec/rails/example/mailbox_example_group.rb +80 -0
  50. data/lib/rspec/rails/example/mailer_example_group.rb +2 -2
  51. data/lib/rspec/rails/example/rails_example_group.rb +1 -1
  52. data/lib/rspec/rails/example/request_example_group.rb +1 -4
  53. data/lib/rspec/rails/example/system_example_group.rb +36 -16
  54. data/lib/rspec/rails/example/view_example_group.rb +47 -28
  55. data/lib/rspec/rails/example.rb +2 -0
  56. data/lib/rspec/rails/extensions/active_record/proxy.rb +5 -10
  57. data/lib/rspec/rails/feature_check.rb +12 -29
  58. data/lib/rspec/rails/file_fixture_support.rb +9 -11
  59. data/lib/rspec/rails/fixture_file_upload_support.rb +34 -17
  60. data/lib/rspec/rails/fixture_support.rb +35 -32
  61. data/lib/rspec/rails/matchers/action_cable/have_broadcasted_to.rb +170 -0
  62. data/lib/rspec/rails/matchers/action_cable/have_streams.rb +58 -0
  63. data/lib/rspec/rails/matchers/action_cable.rb +65 -0
  64. data/lib/rspec/rails/matchers/action_mailbox.rb +73 -0
  65. data/lib/rspec/rails/matchers/active_job.rb +208 -24
  66. data/lib/rspec/rails/matchers/base_matcher.rb +179 -0
  67. data/lib/rspec/rails/matchers/be_a_new.rb +1 -1
  68. data/lib/rspec/rails/matchers/be_new_record.rb +1 -1
  69. data/lib/rspec/rails/matchers/be_valid.rb +1 -1
  70. data/lib/rspec/rails/matchers/have_enqueued_mail.rb +226 -0
  71. data/lib/rspec/rails/matchers/have_http_status.rb +38 -17
  72. data/lib/rspec/rails/matchers/have_rendered.rb +2 -1
  73. data/lib/rspec/rails/matchers/redirect_to.rb +1 -1
  74. data/lib/rspec/rails/matchers/relation_match_array.rb +1 -1
  75. data/lib/rspec/rails/matchers/routing_matchers.rb +14 -14
  76. data/lib/rspec/rails/matchers.rb +11 -0
  77. data/lib/rspec/rails/tasks/rspec.rake +7 -17
  78. data/lib/rspec/rails/vendor/capybara.rb +10 -15
  79. data/lib/rspec/rails/version.rb +1 -1
  80. data/lib/rspec/rails/view_path_builder.rb +1 -1
  81. data/lib/rspec/rails/view_rendering.rb +16 -5
  82. data/lib/rspec-rails.rb +12 -11
  83. data.tar.gz.sig +0 -0
  84. metadata +69 -36
  85. metadata.gz.sig +0 -0
  86. data/lib/generators/rspec/observer/observer_generator.rb +0 -13
data/lib/rspec-rails.rb CHANGED
@@ -7,12 +7,13 @@ module RSpec
7
7
  # Railtie to hook into Rails.
8
8
  class Railtie < ::Rails::Railtie
9
9
  # As of Rails 5.1.0 you can register directories to work with `rake notes`
10
- if ::Rails::VERSION::STRING >= '5.1'
11
- require 'rails/source_annotation_extractor'
10
+ require 'rails/source_annotation_extractor'
11
+ if ::Rails::VERSION::STRING >= '6.0'
12
+ ::Rails::SourceAnnotationExtractor::Annotation.register_directories("spec")
13
+ else
12
14
  SourceAnnotationExtractor::Annotation.register_directories("spec")
13
15
  end
14
- # Rails-3.0.1 requires config.app_generators instead of 3.0.0's config.generators
15
- generators = config.respond_to?(:app_generators) ? config.app_generators : config.generators
16
+ generators = config.app_generators
16
17
  generators.integration_tool :rspec
17
18
  generators.test_framework :rspec
18
19
 
@@ -27,14 +28,15 @@ module RSpec
27
28
  # This is called after the environment has been loaded but before Rails
28
29
  # sets the default for the `preview_path`
29
30
  initializer "rspec_rails.action_mailer",
30
- :before => "action_mailer.set_configs" do |app|
31
- setup_preview_path(app)
32
- end
31
+ before: "action_mailer.set_configs" do |app|
32
+ setup_preview_path(app)
33
+ end
33
34
 
34
35
  private
35
36
 
36
37
  def setup_preview_path(app)
37
38
  return unless supports_action_mailer_previews?(app.config)
39
+
38
40
  options = app.config.action_mailer
39
41
  config_default_preview_path(options) if config_preview_path?(options)
40
42
  end
@@ -42,9 +44,7 @@ module RSpec
42
44
  def config_preview_path?(options)
43
45
  # We cannot use `respond_to?(:show_previews)` here as it will always
44
46
  # return `true`.
45
- if ::Rails::VERSION::STRING < '4.2'
46
- ::Rails.env.development?
47
- elsif options.show_previews.nil?
47
+ if options.show_previews.nil?
48
48
  options.show_previews = ::Rails.env.development?
49
49
  else
50
50
  options.show_previews
@@ -53,6 +53,7 @@ module RSpec
53
53
 
54
54
  def config_default_preview_path(options)
55
55
  return unless options.preview_path.blank?
56
+
56
57
  options.preview_path = "#{::Rails.root}/spec/mailers/previews"
57
58
  end
58
59
 
@@ -68,7 +69,7 @@ module RSpec
68
69
  # not respond to the method. However, we cannot use
69
70
  # `config.action_mailer.respond_to?(:preview_path)` here as it will
70
71
  # always return `true`.
71
- config.respond_to?(:action_mailer) && ::Rails::VERSION::STRING > '4.1'
72
+ config.respond_to?(:action_mailer)
72
73
  end
73
74
  end
74
75
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.2
4
+ version: 5.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
@@ -44,149 +44,161 @@ cert_chain:
44
44
  ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
45
45
  F3MdtaDehhjC
46
46
  -----END CERTIFICATE-----
47
- date: 2017-11-20 00:00:00.000000000 Z
47
+ date: 2022-04-24 00:00:00.000000000 Z
48
48
  dependencies:
49
49
  - !ruby/object:Gem::Dependency
50
- name: activesupport
50
+ name: actionpack
51
51
  requirement: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '3.0'
55
+ version: '5.2'
56
56
  type: :runtime
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '3.0'
62
+ version: '5.2'
63
63
  - !ruby/object:Gem::Dependency
64
- name: actionpack
64
+ name: activesupport
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: '3.0'
69
+ version: '5.2'
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: '3.0'
76
+ version: '5.2'
77
77
  - !ruby/object:Gem::Dependency
78
78
  name: railties
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: '3.0'
83
+ version: '5.2'
84
84
  type: :runtime
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '3.0'
90
+ version: '5.2'
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rspec-core
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: 3.7.0
97
+ version: '3.10'
98
98
  type: :runtime
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: 3.7.0
104
+ version: '3.10'
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: rspec-expectations
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: 3.7.0
111
+ version: '3.10'
112
112
  type: :runtime
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: 3.7.0
118
+ version: '3.10'
119
119
  - !ruby/object:Gem::Dependency
120
120
  name: rspec-mocks
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: 3.7.0
125
+ version: '3.10'
126
126
  type: :runtime
127
127
  prerelease: false
128
128
  version_requirements: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: 3.7.0
132
+ version: '3.10'
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: rspec-support
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 3.7.0
139
+ version: '3.10'
140
140
  type: :runtime
141
141
  prerelease: false
142
142
  version_requirements: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - "~>"
145
145
  - !ruby/object:Gem::Version
146
- version: 3.7.0
146
+ version: '3.10'
147
147
  - !ruby/object:Gem::Dependency
148
- name: cucumber
148
+ name: ammeter
149
149
  requirement: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - "~>"
152
152
  - !ruby/object:Gem::Version
153
- version: 1.3.5
153
+ version: 1.1.5
154
154
  type: :development
155
155
  prerelease: false
156
156
  version_requirements: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - "~>"
159
159
  - !ruby/object:Gem::Version
160
- version: 1.3.5
160
+ version: 1.1.5
161
161
  - !ruby/object:Gem::Dependency
162
162
  name: aruba
163
163
  requirement: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - "~>"
166
166
  - !ruby/object:Gem::Version
167
- version: 0.5.4
167
+ version: 0.14.12
168
168
  type: :development
169
169
  prerelease: false
170
170
  version_requirements: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - "~>"
173
173
  - !ruby/object:Gem::Version
174
- version: 0.5.4
174
+ version: 0.14.12
175
175
  - !ruby/object:Gem::Dependency
176
- name: ammeter
176
+ name: cucumber
177
177
  requirement: !ruby/object:Gem::Requirement
178
178
  requirements:
179
- - - "~>"
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '3.2'
182
+ - - "!="
180
183
  - !ruby/object:Gem::Version
181
- version: 1.1.2
184
+ version: 4.0.0
185
+ - - "<"
186
+ - !ruby/object:Gem::Version
187
+ version: 8.0.0
182
188
  type: :development
183
189
  prerelease: false
184
190
  version_requirements: !ruby/object:Gem::Requirement
185
191
  requirements:
186
- - - "~>"
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '3.2'
195
+ - - "!="
187
196
  - !ruby/object:Gem::Version
188
- version: 1.1.2
189
- description: rspec-rails is a testing framework for Rails 3+.
197
+ version: 4.0.0
198
+ - - "<"
199
+ - !ruby/object:Gem::Version
200
+ version: 8.0.0
201
+ description: rspec-rails is a testing framework for Rails 5+.
190
202
  email: rspec@googlegroups.com
191
203
  executables: []
192
204
  extensions: []
@@ -199,12 +211,18 @@ files:
199
211
  - LICENSE.md
200
212
  - README.md
201
213
  - lib/generators/rspec.rb
214
+ - lib/generators/rspec/channel/channel_generator.rb
215
+ - lib/generators/rspec/channel/templates/channel_spec.rb.erb
202
216
  - lib/generators/rspec/controller/controller_generator.rb
203
217
  - lib/generators/rspec/controller/templates/controller_spec.rb
218
+ - lib/generators/rspec/controller/templates/request_spec.rb
219
+ - lib/generators/rspec/controller/templates/routing_spec.rb
204
220
  - lib/generators/rspec/controller/templates/view_spec.rb
205
221
  - lib/generators/rspec/feature/feature_generator.rb
206
222
  - lib/generators/rspec/feature/templates/feature_singular_spec.rb
207
223
  - lib/generators/rspec/feature/templates/feature_spec.rb
224
+ - lib/generators/rspec/generator/generator_generator.rb
225
+ - lib/generators/rspec/generator/templates/generator_spec.rb
208
226
  - lib/generators/rspec/helper/helper_generator.rb
209
227
  - lib/generators/rspec/helper/templates/helper_spec.rb
210
228
  - lib/generators/rspec/install/install_generator.rb
@@ -213,6 +231,8 @@ files:
213
231
  - lib/generators/rspec/integration/templates/request_spec.rb
214
232
  - lib/generators/rspec/job/job_generator.rb
215
233
  - lib/generators/rspec/job/templates/job_spec.rb.erb
234
+ - lib/generators/rspec/mailbox/mailbox_generator.rb
235
+ - lib/generators/rspec/mailbox/templates/mailbox_spec.rb.erb
216
236
  - lib/generators/rspec/mailer/mailer_generator.rb
217
237
  - lib/generators/rspec/mailer/templates/fixture
218
238
  - lib/generators/rspec/mailer/templates/mailer_spec.rb
@@ -220,17 +240,19 @@ files:
220
240
  - lib/generators/rspec/model/model_generator.rb
221
241
  - lib/generators/rspec/model/templates/fixtures.yml
222
242
  - lib/generators/rspec/model/templates/model_spec.rb
223
- - lib/generators/rspec/observer/observer_generator.rb
224
- - lib/generators/rspec/observer/templates/observer_spec.rb
225
243
  - lib/generators/rspec/request/request_generator.rb
226
244
  - lib/generators/rspec/scaffold/scaffold_generator.rb
227
245
  - lib/generators/rspec/scaffold/templates/api_controller_spec.rb
246
+ - lib/generators/rspec/scaffold/templates/api_request_spec.rb
228
247
  - lib/generators/rspec/scaffold/templates/controller_spec.rb
229
248
  - lib/generators/rspec/scaffold/templates/edit_spec.rb
230
249
  - lib/generators/rspec/scaffold/templates/index_spec.rb
231
250
  - lib/generators/rspec/scaffold/templates/new_spec.rb
251
+ - lib/generators/rspec/scaffold/templates/request_spec.rb
232
252
  - lib/generators/rspec/scaffold/templates/routing_spec.rb
233
253
  - lib/generators/rspec/scaffold/templates/show_spec.rb
254
+ - lib/generators/rspec/system/system_generator.rb
255
+ - lib/generators/rspec/system/templates/system_spec.rb
234
256
  - lib/generators/rspec/view/templates/view_spec.rb
235
257
  - lib/generators/rspec/view/view_generator.rb
236
258
  - lib/rspec-rails.rb
@@ -239,10 +261,12 @@ files:
239
261
  - lib/rspec/rails/adapters.rb
240
262
  - lib/rspec/rails/configuration.rb
241
263
  - lib/rspec/rails/example.rb
264
+ - lib/rspec/rails/example/channel_example_group.rb
242
265
  - lib/rspec/rails/example/controller_example_group.rb
243
266
  - lib/rspec/rails/example/feature_example_group.rb
244
267
  - lib/rspec/rails/example/helper_example_group.rb
245
268
  - lib/rspec/rails/example/job_example_group.rb
269
+ - lib/rspec/rails/example/mailbox_example_group.rb
246
270
  - lib/rspec/rails/example/mailer_example_group.rb
247
271
  - lib/rspec/rails/example/model_example_group.rb
248
272
  - lib/rspec/rails/example/rails_example_group.rb
@@ -257,10 +281,16 @@ files:
257
281
  - lib/rspec/rails/fixture_file_upload_support.rb
258
282
  - lib/rspec/rails/fixture_support.rb
259
283
  - lib/rspec/rails/matchers.rb
284
+ - lib/rspec/rails/matchers/action_cable.rb
285
+ - lib/rspec/rails/matchers/action_cable/have_broadcasted_to.rb
286
+ - lib/rspec/rails/matchers/action_cable/have_streams.rb
287
+ - lib/rspec/rails/matchers/action_mailbox.rb
260
288
  - lib/rspec/rails/matchers/active_job.rb
289
+ - lib/rspec/rails/matchers/base_matcher.rb
261
290
  - lib/rspec/rails/matchers/be_a_new.rb
262
291
  - lib/rspec/rails/matchers/be_new_record.rb
263
292
  - lib/rspec/rails/matchers/be_valid.rb
293
+ - lib/rspec/rails/matchers/have_enqueued_mail.rb
264
294
  - lib/rspec/rails/matchers/have_http_status.rb
265
295
  - lib/rspec/rails/matchers/have_rendered.rb
266
296
  - lib/rspec/rails/matchers/redirect_to.rb
@@ -276,7 +306,12 @@ files:
276
306
  homepage: https://github.com/rspec/rspec-rails
277
307
  licenses:
278
308
  - MIT
279
- metadata: {}
309
+ metadata:
310
+ bug_tracker_uri: https://github.com/rspec/rspec-rails/issues
311
+ changelog_uri: https://github.com/rspec/rspec-rails/blob/v5.1.2/Changelog.md
312
+ documentation_uri: https://rspec.info/documentation/
313
+ mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
314
+ source_code_uri: https://github.com/rspec/rspec-rails
280
315
  post_install_message:
281
316
  rdoc_options:
282
317
  - "--charset=UTF-8"
@@ -286,17 +321,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
286
321
  requirements:
287
322
  - - ">="
288
323
  - !ruby/object:Gem::Version
289
- version: '0'
324
+ version: 2.2.0
290
325
  required_rubygems_version: !ruby/object:Gem::Requirement
291
326
  requirements:
292
327
  - - ">="
293
328
  - !ruby/object:Gem::Version
294
329
  version: '0'
295
330
  requirements: []
296
- rubyforge_project:
297
- rubygems_version: 2.6.14
331
+ rubygems_version: 3.1.6
298
332
  signing_key:
299
333
  specification_version: 4
300
334
  summary: RSpec for Rails
301
335
  test_files: []
302
- has_rdoc:
metadata.gz.sig CHANGED
Binary file
@@ -1,13 +0,0 @@
1
- require 'generators/rspec'
2
-
3
- module Rspec
4
- module Generators
5
- # @private
6
- class ObserverGenerator < Base
7
- def generate_observer_spec
8
- template 'observer_spec.rb',
9
- File.join('spec', 'models', class_path, "#{file_name}_observer_spec.rb")
10
- end
11
- end
12
- end
13
- end