rspec-rails 4.0.0.beta4 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/Capybara.md +5 -54
  5. data/Changelog.md +72 -37
  6. data/README.md +23 -18
  7. data/lib/generators/rspec/controller/controller_generator.rb +1 -1
  8. data/lib/generators/rspec/controller/templates/request_spec.rb +6 -1
  9. data/lib/generators/rspec/{generators → generator}/generator_generator.rb +2 -2
  10. data/lib/generators/rspec/{generators → generator}/templates/generator_spec.rb +0 -0
  11. data/lib/generators/rspec/install/templates/spec/rails_helper.rb +15 -1
  12. data/lib/generators/rspec/scaffold/scaffold_generator.rb +18 -10
  13. data/lib/generators/rspec/scaffold/templates/api_request_spec.rb +131 -0
  14. data/lib/generators/rspec/scaffold/templates/request_spec.rb +137 -0
  15. data/lib/rspec-rails.rb +2 -2
  16. data/lib/rspec/rails/adapters.rb +3 -3
  17. data/lib/rspec/rails/configuration.rb +40 -4
  18. data/lib/rspec/rails/example/channel_example_group.rb +2 -2
  19. data/lib/rspec/rails/example/feature_example_group.rb +5 -23
  20. data/lib/rspec/rails/example/mailbox_example_group.rb +1 -1
  21. data/lib/rspec/rails/example/mailer_example_group.rb +2 -2
  22. data/lib/rspec/rails/example/system_example_group.rb +8 -4
  23. data/lib/rspec/rails/example/view_example_group.rb +1 -1
  24. data/lib/rspec/rails/extensions/active_record/proxy.rb +4 -1
  25. data/lib/rspec/rails/fixture_file_upload_support.rb +7 -12
  26. data/lib/rspec/rails/fixture_support.rb +38 -27
  27. data/lib/rspec/rails/matchers/action_cable/have_broadcasted_to.rb +3 -3
  28. data/lib/rspec/rails/matchers/active_job.rb +31 -5
  29. data/lib/rspec/rails/matchers/have_enqueued_mail.rb +4 -4
  30. data/lib/rspec/rails/matchers/relation_match_array.rb +1 -1
  31. data/lib/rspec/rails/matchers/routing_matchers.rb +2 -2
  32. data/lib/rspec/rails/tasks/rspec.rake +4 -4
  33. data/lib/rspec/rails/vendor/capybara.rb +0 -5
  34. data/lib/rspec/rails/version.rb +1 -1
  35. metadata +30 -28
  36. metadata.gz.sig +0 -0
@@ -21,8 +21,8 @@ if defined?(ActionMailer)
21
21
 
22
22
  included do
23
23
  include ::Rails.application.routes.url_helpers
24
- options = ::Rails.configuration.action_mailer.default_url_options
25
- options&.each { |key, value| default_url_options[key] = value }
24
+ options = ::Rails.configuration.action_mailer.default_url_options || {}
25
+ options.each { |key, value| default_url_options[key] = value }
26
26
  end
27
27
 
28
28
  # Class-level DSL for mailer specs.
@@ -50,6 +50,10 @@ module RSpec
50
50
  end
51
51
 
52
52
  included do |other|
53
+ ActiveSupport.on_load(:action_dispatch_system_test_case) do
54
+ ActionDispatch::SystemTesting::Server.silence_puma = true
55
+ end
56
+
53
57
  begin
54
58
  require 'capybara'
55
59
  require 'action_dispatch/system_test_case'
@@ -71,7 +75,6 @@ module RSpec
71
75
  original_after_teardown =
72
76
  ::ActionDispatch::SystemTesting::TestHelpers::SetupAndTeardown.instance_method(:after_teardown)
73
77
 
74
- other.include ActionDispatch::IntegrationTest::Behavior
75
78
  other.include ::ActionDispatch::SystemTesting::TestHelpers::SetupAndTeardown
76
79
  other.include ::ActionDispatch::SystemTesting::TestHelpers::ScreenshotHelper
77
80
  other.include BlowAwayTeardownHooks
@@ -93,8 +96,8 @@ module RSpec
93
96
  end
94
97
  end
95
98
 
96
- def driven_by(*args, &blk)
97
- @driver = ::ActionDispatch::SystemTestCase.driven_by(*args, &blk).tap(&:use)
99
+ def driven_by(driver, **driver_options, &blk)
100
+ @driver = ::ActionDispatch::SystemTestCase.driven_by(driver, **driver_options, &blk).tap(&:use)
98
101
  end
99
102
 
100
103
  before do
@@ -111,7 +114,8 @@ module RSpec
111
114
  original_after_teardown.bind(self).call
112
115
  ensure
113
116
  myio = $stdout
114
- RSpec.current_example.metadata[:extra_failure_lines] = myio.string
117
+ myio.rewind
118
+ RSpec.current_example.metadata[:extra_failure_lines] = myio.readlines
115
119
  $stdout = orig_stdout
116
120
  end
117
121
  end
@@ -149,7 +149,7 @@ module RSpec
149
149
  # the original string.
150
150
  match = path_regex.match(_default_file_to_render)
151
151
 
152
- render_options = { template: match[:template] }
152
+ render_options = {template: match[:template]}
153
153
  render_options[:handlers] = [match[:handler]] if match[:handler]
154
154
  render_options[:formats] = [match[:format].to_sym] if match[:format]
155
155
  render_options[:locales] = [match[:locale]] if match[:locale]
@@ -1,7 +1,10 @@
1
1
  RSpec.configure do |rspec|
2
2
  # Delay this in order to give users a chance to configure `expect_with`...
3
3
  rspec.before(:suite) do
4
- if defined?(RSpec::Matchers) && RSpec::Matchers.configuration.syntax.include?(:should) && defined?(ActiveRecord::Associations)
4
+ if defined?(RSpec::Matchers) &&
5
+ RSpec::Matchers.configuration.respond_to?(:syntax) && # RSpec 4 dropped support for monkey-patching `should` syntax
6
+ RSpec::Matchers.configuration.syntax.include?(:should) &&
7
+ defined?(ActiveRecord::Associations)
5
8
  RSpec::Matchers.configuration.add_should_and_should_not_to ActiveRecord::Associations::CollectionProxy
6
9
  end
7
10
  end
@@ -8,7 +8,12 @@ module RSpec
8
8
 
9
9
  def rails_fixture_file_wrapper
10
10
  RailsFixtureFileWrapper.fixture_path = nil
11
- resolved_fixture_path = (fixture_path || RSpec.configuration.fixture_path || '').to_s
11
+ resolved_fixture_path =
12
+ if respond_to?(:fixture_path) && !fixture_path.nil?
13
+ fixture_path.to_s
14
+ else
15
+ (RSpec.configuration.fixture_path || '').to_s
16
+ end
12
17
  RailsFixtureFileWrapper.fixture_path = File.join(resolved_fixture_path, '') unless resolved_fixture_path.strip.empty?
13
18
  RailsFixtureFileWrapper.instance
14
19
  end
@@ -17,22 +22,12 @@ module RSpec
17
22
  include ActionDispatch::TestProcess if defined?(ActionDispatch::TestProcess)
18
23
 
19
24
  class << self
20
- attr_reader :fixture_path
25
+ attr_accessor :fixture_path
21
26
 
22
27
  # Get instance of wrapper
23
28
  def instance
24
29
  @instance ||= new
25
30
  end
26
-
27
- # Override fixture_path set
28
- # to support Rails 3.0->3.1 using ActionController::TestCase class to resolve fixture_path
29
- # see https://apidock.com/rails/v3.0.0/ActionDispatch/TestProcess/fixture_file_upload
30
- def fixture_path=(value)
31
- if ActionController::TestCase.respond_to?(:fixture_path)
32
- ActionController::TestCase.fixture_path = value
33
- end
34
- @fixture_path = value
35
- end
36
31
  end
37
32
  end
38
33
  end
@@ -9,43 +9,54 @@ module RSpec
9
9
  include RSpec::Rails::MinitestAssertionAdapter
10
10
  include ActiveRecord::TestFixtures
11
11
 
12
+ # @private prevent ActiveSupport::TestFixtures to start a DB transaction.
13
+ # Monkey patched to avoid collisions with 'let(:name)' in Rails 6.1 and after
14
+ # and let(:method_name) before Rails 6.1.
15
+ def run_in_transaction?
16
+ use_transactional_tests && !self.class.uses_transaction?(self)
17
+ end
18
+
12
19
  included do
13
- self.fixture_path = RSpec.configuration.fixture_path
14
- if ::Rails::VERSION::STRING > '5'
15
- self.use_transactional_tests = RSpec.configuration.use_transactional_fixtures
16
- else
17
- self.use_transactional_fixtures = RSpec.configuration.use_transactional_fixtures
18
- end
19
- self.use_instantiated_fixtures = RSpec.configuration.use_instantiated_fixtures
20
+ if RSpec.configuration.use_active_record?
21
+ include Fixtures
20
22
 
21
- def self.fixtures(*args)
22
- orig_methods = private_instance_methods
23
- super.tap do
24
- new_methods = private_instance_methods - orig_methods
25
- new_methods.each do |method_name|
26
- proxy_method_warning_if_called_in_before_context_scope(method_name)
27
- end
23
+ self.fixture_path = RSpec.configuration.fixture_path
24
+ if ::Rails::VERSION::STRING > '5'
25
+ self.use_transactional_tests = RSpec.configuration.use_transactional_fixtures
26
+ else
27
+ self.use_transactional_fixtures = RSpec.configuration.use_transactional_fixtures
28
28
  end
29
+ self.use_instantiated_fixtures = RSpec.configuration.use_instantiated_fixtures
30
+
31
+ fixtures RSpec.configuration.global_fixtures if RSpec.configuration.global_fixtures
29
32
  end
33
+ end
34
+
35
+ module Fixtures
36
+ extend ActiveSupport::Concern
30
37
 
31
- def self.proxy_method_warning_if_called_in_before_context_scope(method_name)
32
- orig_implementation = instance_method(method_name)
33
- define_method(method_name) do |*args, &blk|
34
- if inspect.include?("before(:context)")
35
- RSpec.warn_with("Calling fixture method in before :context ")
36
- else
37
- orig_implementation.bind(self).call(*args, &blk)
38
+ class_methods do
39
+ def fixtures(*args)
40
+ orig_methods = private_instance_methods
41
+ super.tap do
42
+ new_methods = private_instance_methods - orig_methods
43
+ new_methods.each do |method_name|
44
+ proxy_method_warning_if_called_in_before_context_scope(method_name)
45
+ end
38
46
  end
39
47
  end
40
- end
41
48
 
42
- if ::Rails.version.to_f >= 6.1
43
- def name
44
- @example
49
+ def proxy_method_warning_if_called_in_before_context_scope(method_name)
50
+ orig_implementation = instance_method(method_name)
51
+ define_method(method_name) do |*args, &blk|
52
+ if inspect.include?("before(:context)")
53
+ RSpec.warn_with("Calling fixture method in before :context ")
54
+ else
55
+ orig_implementation.bind(self).call(*args, &blk)
56
+ end
57
+ end
45
58
  end
46
59
  end
47
-
48
- fixtures RSpec.configuration.global_fixtures if RSpec.configuration.global_fixtures
49
60
  end
50
61
  end
51
62
  end
@@ -8,15 +8,15 @@ module RSpec
8
8
  def initialize(target, channel:)
9
9
  @target = target
10
10
  @channel = channel
11
- @block = Proc.new {}
11
+ @block = proc { }
12
12
  @data = nil
13
13
  set_expected_number(:exactly, 1)
14
14
  end
15
15
 
16
- def with(data = nil)
16
+ def with(data = nil, &block)
17
17
  @data = data
18
18
  @data = @data.with_indifferent_access if @data.is_a?(Hash)
19
- @block = Proc.new if block_given?
19
+ @block = block if block
20
20
  self
21
21
  end
22
22
 
@@ -15,7 +15,7 @@ module RSpec
15
15
  @args = []
16
16
  @queue = nil
17
17
  @at = nil
18
- @block = Proc.new {}
18
+ @block = proc { }
19
19
  set_expected_number(:exactly, 1)
20
20
  end
21
21
 
@@ -26,12 +26,16 @@ module RSpec
26
26
  end
27
27
 
28
28
  def on_queue(queue)
29
- @queue = queue
29
+ @queue = queue.to_s
30
30
  self
31
31
  end
32
32
 
33
- def at(date)
34
- @at = date
33
+ def at(time_or_date)
34
+ case time_or_date
35
+ when Time then @at = Time.at(time_or_date.to_f)
36
+ else
37
+ @at = time_or_date
38
+ end
35
39
  self
36
40
  end
37
41
 
@@ -159,7 +163,29 @@ module RSpec
159
163
  return job[:at].nil? if @at == :no_wait
160
164
  return false unless job[:at]
161
165
 
162
- values_match?(@at, Time.at(job[:at]))
166
+ scheduled_at = Time.at(job[:at])
167
+ values_match?(@at, scheduled_at) || check_for_inprecise_value(scheduled_at)
168
+ end
169
+
170
+ def check_for_inprecise_value(scheduled_at)
171
+ return unless Time === @at && values_match?(@at.change(usec: 0), scheduled_at)
172
+
173
+ RSpec.warn_with((<<-WARNING).gsub(/^\s+\|/, '').chomp)
174
+ |[WARNING] Your expected `at(...)` value does not match the job scheduled_at value
175
+ |unless microseconds are removed. This precision error often occurs when checking
176
+ |values against `Time.current` / `Time.now` which have usec precision, but Rails
177
+ |uses `n.seconds.from_now` internally which has a usec count of `0`.
178
+ |
179
+ |Use `change(usec: 0)` to correct these values. For example:
180
+ |
181
+ |`Time.current.change(usec: 0)`
182
+ |
183
+ |Note: RSpec cannot do this for you because jobs can be scheduled with usec
184
+ |precision and we do not know wether it is on purpose or not.
185
+ |
186
+ |
187
+ WARNING
188
+ false
163
189
  end
164
190
 
165
191
  def set_expected_number(relativity, count)
@@ -93,7 +93,7 @@ module RSpec
93
93
  end
94
94
 
95
95
  def yield_mail_args(block)
96
- Proc.new { |*job_args| block.call(*(job_args - base_mailer_args)) }
96
+ proc { |*job_args| block.call(*(job_args - base_mailer_args)) }
97
97
  end
98
98
 
99
99
  def check_active_job_adapter
@@ -131,15 +131,15 @@ module RSpec
131
131
  end
132
132
 
133
133
  def legacy_mail?(job)
134
- job[:job] == ActionMailer::DeliveryJob
134
+ job[:job] <= ActionMailer::DeliveryJob
135
135
  end
136
136
 
137
137
  def parameterized_mail?(job)
138
- RSpec::Rails::FeatureCheck.has_action_mailer_parameterized? && job[:job] == ActionMailer::Parameterized::DeliveryJob
138
+ RSpec::Rails::FeatureCheck.has_action_mailer_parameterized? && job[:job] <= ActionMailer::Parameterized::DeliveryJob
139
139
  end
140
140
 
141
141
  def unified_mail?(job)
142
- RSpec::Rails::FeatureCheck.has_action_mailer_unified_delivery? && job[:job] == ActionMailer::MailDeliveryJob
142
+ RSpec::Rails::FeatureCheck.has_action_mailer_unified_delivery? && job[:job] <= ActionMailer::MailDeliveryJob
143
143
  end
144
144
  end
145
145
  # @api public
@@ -1,3 +1,3 @@
1
- if defined?(ActiveRecord::Relation)
1
+ if defined?(ActiveRecord::Relation) && defined?(RSpec::Matchers::BuiltIn::OperatorMatcher) # RSpec 4 removed OperatorMatcher
2
2
  RSpec::Matchers::BuiltIn::OperatorMatcher.register(ActiveRecord::Relation, '=~', RSpec::Matchers::BuiltIn::ContainExactly)
3
3
  end
@@ -26,7 +26,7 @@ module RSpec
26
26
  path, query = *verb_to_path_map.values.first.split('?')
27
27
  @scope.assert_recognizes(
28
28
  @expected,
29
- { method: verb_to_path_map.keys.first, path: path },
29
+ {method: verb_to_path_map.keys.first, path: path},
30
30
  Rack::Utils.parse_nested_query(query)
31
31
  )
32
32
  end
@@ -115,7 +115,7 @@ module RSpec
115
115
  # Shorthand method for matching this type of route.
116
116
  %w[get post put patch delete options head].each do |method|
117
117
  define_method method do |path|
118
- { method.to_sym => path }
118
+ {method.to_sym => path}
119
119
  end
120
120
  end
121
121
  end
@@ -12,10 +12,10 @@ RSpec::Core::RakeTask.new(spec: "spec:prepare")
12
12
 
13
13
  namespace :spec do
14
14
  types = begin
15
- dirs = Dir['./spec/**/*_spec.rb'].
16
- map { |f| f.sub(/^\.\/(spec\/\w+)\/.*/, '\\1') }.
17
- uniq.
18
- select { |f| File.directory?(f) }
15
+ dirs = Dir['./spec/**/*_spec.rb']
16
+ .map { |f| f.sub(/^\.\/(spec\/\w+)\/.*/, '\\1') }
17
+ .uniq
18
+ .select { |f| File.directory?(f) }
19
19
  Hash[dirs.map { |d| [d.split('/').last, d] }]
20
20
  end
21
21
 
@@ -9,11 +9,6 @@ rescue LoadError
9
9
  end
10
10
 
11
11
  if defined?(Capybara)
12
- require 'rspec/support/comparable_version'
13
- unless RSpec::Support::ComparableVersion.new(Capybara::VERSION) >= '2.2.0'
14
- raise "You are using capybara #{Capybara::VERSION}. RSpec requires >= 2.2.0."
15
- end
16
-
17
12
  RSpec.configure do |c|
18
13
  if defined?(Capybara::DSL)
19
14
  c.include Capybara::DSL, type: :feature
@@ -3,7 +3,7 @@ module RSpec
3
3
  # Version information for RSpec Rails.
4
4
  module Version
5
5
  # Current version of RSpec Rails, in semantic versioning format.
6
- STRING = '4.0.0.beta4'
6
+ STRING = '4.1.0'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.beta4
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
8
8
  - Andy Lindeman
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain:
12
12
  - |
@@ -44,10 +44,10 @@ cert_chain:
44
44
  ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
45
45
  F3MdtaDehhjC
46
46
  -----END CERTIFICATE-----
47
- date: 2020-01-12 00:00:00.000000000 Z
47
+ date: 2021-03-06 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
  - - ">="
@@ -61,7 +61,7 @@ dependencies:
61
61
  - !ruby/object:Gem::Version
62
62
  version: '4.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
  - - ">="
@@ -94,70 +94,70 @@ dependencies:
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '3.9'
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.9'
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.9'
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.9'
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.9'
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.9'
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.9'
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.9'
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
@@ -173,19 +173,19 @@ dependencies:
173
173
  - !ruby/object:Gem::Version
174
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
180
  - !ruby/object:Gem::Version
181
- version: 1.1.2
181
+ version: 1.3.5
182
182
  type: :development
183
183
  prerelease: false
184
184
  version_requirements: !ruby/object:Gem::Requirement
185
185
  requirements:
186
186
  - - "~>"
187
187
  - !ruby/object:Gem::Version
188
- version: 1.1.2
188
+ version: 1.3.5
189
189
  description: rspec-rails is a testing framework for Rails 5+.
190
190
  email: rspec@googlegroups.com
191
191
  executables: []
@@ -209,8 +209,8 @@ files:
209
209
  - lib/generators/rspec/feature/feature_generator.rb
210
210
  - lib/generators/rspec/feature/templates/feature_singular_spec.rb
211
211
  - lib/generators/rspec/feature/templates/feature_spec.rb
212
- - lib/generators/rspec/generators/generator_generator.rb
213
- - lib/generators/rspec/generators/templates/generator_spec.rb
212
+ - lib/generators/rspec/generator/generator_generator.rb
213
+ - lib/generators/rspec/generator/templates/generator_spec.rb
214
214
  - lib/generators/rspec/helper/helper_generator.rb
215
215
  - lib/generators/rspec/helper/templates/helper_spec.rb
216
216
  - lib/generators/rspec/install/install_generator.rb
@@ -231,10 +231,12 @@ files:
231
231
  - lib/generators/rspec/request/request_generator.rb
232
232
  - lib/generators/rspec/scaffold/scaffold_generator.rb
233
233
  - lib/generators/rspec/scaffold/templates/api_controller_spec.rb
234
+ - lib/generators/rspec/scaffold/templates/api_request_spec.rb
234
235
  - lib/generators/rspec/scaffold/templates/controller_spec.rb
235
236
  - lib/generators/rspec/scaffold/templates/edit_spec.rb
236
237
  - lib/generators/rspec/scaffold/templates/index_spec.rb
237
238
  - lib/generators/rspec/scaffold/templates/new_spec.rb
239
+ - lib/generators/rspec/scaffold/templates/request_spec.rb
238
240
  - lib/generators/rspec/scaffold/templates/routing_spec.rb
239
241
  - lib/generators/rspec/scaffold/templates/show_spec.rb
240
242
  - lib/generators/rspec/system/system_generator.rb
@@ -294,11 +296,11 @@ licenses:
294
296
  - MIT
295
297
  metadata:
296
298
  bug_tracker_uri: https://github.com/rspec/rspec-rails/issues
297
- changelog_uri: https://github.com/rspec/rspec-rails/blob/v4.0.0.beta4/Changelog.md
299
+ changelog_uri: https://github.com/rspec/rspec-rails/blob/v4.1.0/Changelog.md
298
300
  documentation_uri: https://rspec.info/documentation/
299
301
  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
300
302
  source_code_uri: https://github.com/rspec/rspec-rails
301
- post_install_message:
303
+ post_install_message:
302
304
  rdoc_options:
303
305
  - "--charset=UTF-8"
304
306
  require_paths:
@@ -307,15 +309,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
307
309
  requirements:
308
310
  - - ">="
309
311
  - !ruby/object:Gem::Version
310
- version: '0'
312
+ version: 2.2.0
311
313
  required_rubygems_version: !ruby/object:Gem::Requirement
312
314
  requirements:
313
- - - ">"
315
+ - - ">="
314
316
  - !ruby/object:Gem::Version
315
- version: 1.3.1
317
+ version: '0'
316
318
  requirements: []
317
- rubygems_version: 3.1.2
318
- signing_key:
319
+ rubygems_version: 3.2.4
320
+ signing_key:
319
321
  specification_version: 4
320
322
  summary: RSpec for Rails
321
323
  test_files: []