rspec-rails 3.8.2 → 5.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/Capybara.md +5 -54
  4. data/Changelog.md +284 -74
  5. data/README.md +278 -500
  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 +2 -2
  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 +18 -13
  17. data/lib/generators/rspec/integration/integration_generator.rb +3 -3
  18. data/lib/generators/rspec/job/job_generator.rb +2 -1
  19. data/lib/generators/rspec/job/templates/job_spec.rb.erb +1 -1
  20. data/lib/generators/rspec/mailbox/mailbox_generator.rb +14 -0
  21. data/lib/generators/rspec/mailbox/templates/mailbox_spec.rb.erb +7 -0
  22. data/lib/generators/rspec/mailer/mailer_generator.rb +2 -1
  23. data/lib/generators/rspec/mailer/templates/mailer_spec.rb +2 -2
  24. data/lib/generators/rspec/mailer/templates/preview.rb +1 -1
  25. data/lib/generators/rspec/model/model_generator.rb +6 -5
  26. data/lib/generators/rspec/model/templates/fixtures.yml +1 -1
  27. data/lib/generators/rspec/request/request_generator.rb +1 -1
  28. data/lib/generators/rspec/scaffold/scaffold_generator.rb +33 -19
  29. data/lib/generators/rspec/scaffold/templates/api_controller_spec.rb +13 -49
  30. data/lib/generators/rspec/scaffold/templates/api_request_spec.rb +131 -0
  31. data/lib/generators/rspec/scaffold/templates/controller_spec.rb +10 -58
  32. data/lib/generators/rspec/scaffold/templates/edit_spec.rb +1 -5
  33. data/lib/generators/rspec/scaffold/templates/index_spec.rb +2 -2
  34. data/lib/generators/rspec/scaffold/templates/new_spec.rb +1 -5
  35. data/lib/generators/rspec/scaffold/templates/request_spec.rb +138 -0
  36. data/lib/generators/rspec/scaffold/templates/routing_spec.rb +8 -10
  37. data/lib/generators/rspec/scaffold/templates/show_spec.rb +1 -1
  38. data/lib/generators/rspec/system/system_generator.rb +24 -0
  39. data/lib/generators/rspec/system/templates/system_spec.rb +9 -0
  40. data/lib/generators/rspec/view/view_generator.rb +2 -2
  41. data/lib/generators/rspec.rb +0 -6
  42. data/lib/rspec/rails/adapters.rb +11 -76
  43. data/lib/rspec/rails/configuration.rb +82 -37
  44. data/lib/rspec/rails/example/channel_example_group.rb +93 -0
  45. data/lib/rspec/rails/example/controller_example_group.rb +5 -4
  46. data/lib/rspec/rails/example/feature_example_group.rb +6 -26
  47. data/lib/rspec/rails/example/helper_example_group.rb +2 -9
  48. data/lib/rspec/rails/example/mailbox_example_group.rb +80 -0
  49. data/lib/rspec/rails/example/mailer_example_group.rb +2 -2
  50. data/lib/rspec/rails/example/rails_example_group.rb +1 -1
  51. data/lib/rspec/rails/example/request_example_group.rb +1 -4
  52. data/lib/rspec/rails/example/system_example_group.rb +29 -12
  53. data/lib/rspec/rails/example/view_example_group.rb +38 -27
  54. data/lib/rspec/rails/example.rb +2 -0
  55. data/lib/rspec/rails/extensions/active_record/proxy.rb +5 -10
  56. data/lib/rspec/rails/feature_check.rb +12 -29
  57. data/lib/rspec/rails/file_fixture_support.rb +9 -11
  58. data/lib/rspec/rails/fixture_file_upload_support.rb +33 -17
  59. data/lib/rspec/rails/fixture_support.rb +35 -32
  60. data/lib/rspec/rails/matchers/action_cable/have_broadcasted_to.rb +170 -0
  61. data/lib/rspec/rails/matchers/action_cable/have_streams.rb +58 -0
  62. data/lib/rspec/rails/matchers/action_cable.rb +65 -0
  63. data/lib/rspec/rails/matchers/action_mailbox.rb +73 -0
  64. data/lib/rspec/rails/matchers/active_job.rb +170 -22
  65. data/lib/rspec/rails/matchers/base_matcher.rb +179 -0
  66. data/lib/rspec/rails/matchers/be_a_new.rb +1 -1
  67. data/lib/rspec/rails/matchers/be_new_record.rb +1 -1
  68. data/lib/rspec/rails/matchers/be_valid.rb +1 -1
  69. data/lib/rspec/rails/matchers/have_enqueued_mail.rb +226 -0
  70. data/lib/rspec/rails/matchers/have_http_status.rb +20 -25
  71. data/lib/rspec/rails/matchers/have_rendered.rb +2 -1
  72. data/lib/rspec/rails/matchers/redirect_to.rb +1 -1
  73. data/lib/rspec/rails/matchers/relation_match_array.rb +1 -1
  74. data/lib/rspec/rails/matchers/routing_matchers.rb +14 -14
  75. data/lib/rspec/rails/matchers.rb +11 -0
  76. data/lib/rspec/rails/tasks/rspec.rake +7 -17
  77. data/lib/rspec/rails/vendor/capybara.rb +10 -15
  78. data/lib/rspec/rails/version.rb +1 -1
  79. data/lib/rspec/rails/view_path_builder.rb +1 -1
  80. data/lib/rspec/rails/view_rendering.rb +15 -4
  81. data/lib/rspec-rails.rb +13 -16
  82. data.tar.gz.sig +0 -0
  83. metadata +64 -34
  84. metadata.gz.sig +0 -0
  85. data/lib/generators/rspec/observer/observer_generator.rb +0 -13
data/lib/rspec-rails.rb CHANGED
@@ -7,16 +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'
12
- if ::Rails::VERSION::STRING >= '6.0'
13
- ::Rails::SourceAnnotationExtractor::Annotation.register_directories("spec")
14
- else
15
- SourceAnnotationExtractor::Annotation.register_directories("spec")
16
- end
10
+ require 'rails/source_annotation_extractor'
11
+ if ::Rails::VERSION::STRING >= '6.0'
12
+ ::Rails::SourceAnnotationExtractor::Annotation.register_directories("spec")
13
+ else
14
+ SourceAnnotationExtractor::Annotation.register_directories("spec")
17
15
  end
18
- # Rails-3.0.1 requires config.app_generators instead of 3.0.0's config.generators
19
- generators = config.respond_to?(:app_generators) ? config.app_generators : config.generators
16
+ generators = config.app_generators
20
17
  generators.integration_tool :rspec
21
18
  generators.test_framework :rspec
22
19
 
@@ -31,14 +28,15 @@ module RSpec
31
28
  # This is called after the environment has been loaded but before Rails
32
29
  # sets the default for the `preview_path`
33
30
  initializer "rspec_rails.action_mailer",
34
- :before => "action_mailer.set_configs" do |app|
35
- setup_preview_path(app)
36
- end
31
+ before: "action_mailer.set_configs" do |app|
32
+ setup_preview_path(app)
33
+ end
37
34
 
38
35
  private
39
36
 
40
37
  def setup_preview_path(app)
41
38
  return unless supports_action_mailer_previews?(app.config)
39
+
42
40
  options = app.config.action_mailer
43
41
  config_default_preview_path(options) if config_preview_path?(options)
44
42
  end
@@ -46,9 +44,7 @@ module RSpec
46
44
  def config_preview_path?(options)
47
45
  # We cannot use `respond_to?(:show_previews)` here as it will always
48
46
  # return `true`.
49
- if ::Rails::VERSION::STRING < '4.2'
50
- ::Rails.env.development?
51
- elsif options.show_previews.nil?
47
+ if options.show_previews.nil?
52
48
  options.show_previews = ::Rails.env.development?
53
49
  else
54
50
  options.show_previews
@@ -57,6 +53,7 @@ module RSpec
57
53
 
58
54
  def config_default_preview_path(options)
59
55
  return unless options.preview_path.blank?
56
+
60
57
  options.preview_path = "#{::Rails.root}/spec/mailers/previews"
61
58
  end
62
59
 
@@ -72,7 +69,7 @@ module RSpec
72
69
  # not respond to the method. However, we cannot use
73
70
  # `config.action_mailer.respond_to?(:preview_path)` here as it will
74
71
  # always return `true`.
75
- config.respond_to?(:action_mailer) && ::Rails::VERSION::STRING > '4.1'
72
+ config.respond_to?(:action_mailer)
76
73
  end
77
74
  end
78
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.8.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: 2019-01-18 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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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
@@ -278,7 +308,7 @@ licenses:
278
308
  - MIT
279
309
  metadata:
280
310
  bug_tracker_uri: https://github.com/rspec/rspec-rails/issues
281
- changelog_uri: https://github.com/rspec/rspec-rails/blob/v3.8.2/Changelog.md
311
+ changelog_uri: https://github.com/rspec/rspec-rails/blob/v5.1.2/Changelog.md
282
312
  documentation_uri: https://rspec.info/documentation/
283
313
  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
284
314
  source_code_uri: https://github.com/rspec/rspec-rails
@@ -291,14 +321,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
291
321
  requirements:
292
322
  - - ">="
293
323
  - !ruby/object:Gem::Version
294
- version: '0'
324
+ version: 2.2.0
295
325
  required_rubygems_version: !ruby/object:Gem::Requirement
296
326
  requirements:
297
327
  - - ">="
298
328
  - !ruby/object:Gem::Version
299
329
  version: '0'
300
330
  requirements: []
301
- rubygems_version: 3.0.2
331
+ rubygems_version: 3.1.6
302
332
  signing_key:
303
333
  specification_version: 4
304
334
  summary: RSpec for Rails
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