rspec-rails 5.0.2 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93e1ee0dc7bb7ea05c19308593f872702af96d6964061a741151eee2e872109a
4
- data.tar.gz: d76331ed70af267b4ff35ddb4479a470befe5dc54aaf2e07611cc7696873dbd9
3
+ metadata.gz: 829e7ddefdd0596e8b0015b56de40850a711f970ed3bebbe541f34a415b46a40
4
+ data.tar.gz: cb3a76cc3cb01705a92c1679473d3a0a488041fb47933a513bee90c91fc2da5c
5
5
  SHA512:
6
- metadata.gz: 8d5f6b9db91c30e791d85446ddcacd6ace734888c08141d4ccc120e3132c81113c67372bdac08c6b46b71f963e4510cdac55fad734e09fb4fc4ad205c59584c9
7
- data.tar.gz: 9c61a0d38958a2ce62828bc75acb48ba81c16098a65ecc19bc778d0ec962b886163b41d257a096f23a84b99c022dbbe2c1d4435ffe948c2048604e001e7e4bdf
6
+ metadata.gz: f84c6e4ad2c9d546c3d305daf8c6ef4a65f3559fdbea88bd148e3f25503e0b9c1bd520df473a6c0ae2579a40bce2d937edbb7e7b6cada7ad43320f7c7a124303
7
+ data.tar.gz: d6e2f6ad0a19e7b821149c0df545f39a0529fd8660bac992b365ec60015a1e2cb0aec7f54cd99ebd8ee6a60eead7aa9fead5c5ade5d7df380304268d630ecc2f
checksums.yaml.gz.sig CHANGED
Binary file
data/Changelog.md CHANGED
@@ -1,5 +1,15 @@
1
1
  ### Development
2
- [Full Changelog](https://github.com/rspec/rspec-rails/compare/v5.0.2...5-0-maintenance)
2
+ [Full Changelog](https://github.com/rspec/rspec-rails/compare/v5.0.3...5-0-maintenance)
3
+
4
+ ### 5.0.3 / 2022-01-26
5
+ [Full Changelog](https://github.com/rspec/rspec-rails/compare/v5.0.2...v5.0.3)
6
+
7
+ Bug Fixes:
8
+
9
+ * Properly name params in controller and request spec templates when
10
+ using the `--model-name` parameter. (@kenzo-tanaka, #2534)
11
+ * Fix support for `have_enqueued_mail` on Ruby 3.1 with Rails 6.1.
12
+ (Fabio Napoleoni, Mikael Henriksson, Phil Pirozhkov, Jon Rowe, #2566)
3
13
 
4
14
  ### 5.0.2 / 2021-08-14
5
15
  [Full Changelog](https://github.com/rspec/rspec-rails/compare/v5.0.1...v5.0.2)
data/README.md CHANGED
@@ -8,9 +8,11 @@ They’re also specifications (or _specs,_ for short):
8
8
  detailed explanations of how the application is supposed to behave,
9
9
  expressed in plain English.
10
10
 
11
- Use **[`rspec-rails` 4.x][]** for Rails from 5.0 to 6.0.
12
- Use **[`rspec-rails` 3.x][]** for Rails earlier than 5.0.
13
- Use **[`rspec-rails` 1.x][]** for Rails 2.x.
11
+ According to [RSpec Rails new versioning strategy][] use:
12
+ * **[`rspec-rails` 5.x][]** for Rails 6.x.
13
+ * **[`rspec-rails` 4.x][]** for Rails from 5.x or 6.x.
14
+ * **[`rspec-rails` 3.x][]** for Rails earlier than 5.0.
15
+ * **[`rspec-rails` 1.x][]** for Rails 2.x.
14
16
 
15
17
  [Build Status]: https://secure.travis-ci.org/rspec/rspec-rails.svg?branch=main
16
18
  [travis-ci]: https://travis-ci.org/rspec/rspec-rails
@@ -23,6 +25,8 @@ Use **[`rspec-rails` 1.x][]** for Rails 2.x.
23
25
  [`rspec-rails` 1.x]: https://github.com/dchelimsky/rspec-rails
24
26
  [`rspec-rails` 3.x]: https://github.com/rspec/rspec-rails/tree/3-9-maintenance
25
27
  [`rspec-rails` 4.x]: https://github.com/rspec/rspec-rails/tree/4-1-maintenance
28
+ [`rspec-rails` 5.x]: https://github.com/rspec/rspec-rails/tree/5-0-maintenance
29
+ [RSpec Rails new versioning strategy]: https://github.com/rspec/rspec-rails/blob/main/rfcs/versioning-strategy.md
26
30
 
27
31
  ## Installation
28
32
 
@@ -229,18 +233,18 @@ Each one inherits from one of Rails’ built-in `TestCase` classes,
229
233
  meaning the helper methods provided by default in Rails tests
230
234
  are available in RSpec, as well.
231
235
 
232
- | Spec type | Corresponding Rails test class |
233
- | -------------- | -------------------------------- |
234
- | [model][] | |
235
- | [controller][] | [`ActionController::TestCase`][] |
236
- | [mailer][] | `ActionMailer::TestCase` |
237
- | [job][] | |
238
- | [view][] | `ActionView::TestCase` |
239
- | [routing][] | |
240
- | [helper][] | `ActionView::TestCase` |
241
- | [request][] | [`ActionDispatch::IntegrationTest`][] |
242
- | [feature][] | |
243
- | [system][] | [`ActionDispatch::SystemTestCase`][] |
236
+ | Spec type | Corresponding Rails test class |
237
+ | -------------- | -------------------------------- |
238
+ | [model][] | |
239
+ | [controller][] | [`ActionController::TestCase`][] |
240
+ | [mailer][] | `ActionMailer::TestCase` |
241
+ | [job][] | |
242
+ | [view][] | `ActionView::TestCase` |
243
+ | [routing][] | |
244
+ | [helper][] | `ActionView::TestCase` |
245
+ | [request][] | [`ActionDispatch::IntegrationTest`][] |
246
+ | [feature][] | |
247
+ | [system][] | [`ActionDispatch::SystemTestCase`][] |
244
248
 
245
249
  Follow the links above to see examples of each spec type,
246
250
  or for official Rails API documentation on the given `TestCase` class.
@@ -1,7 +1,7 @@
1
1
  # This file is copied to spec/ when you run 'rails generate rspec:install'
2
2
  require 'spec_helper'
3
3
  ENV['RAILS_ENV'] ||= 'test'
4
- require File.expand_path('../config/environment', __dir__)
4
+ require_relative '../config/environment'
5
5
  # Prevent database truncation if the environment is production
6
6
  abort("The Rails environment is running in production mode!") if Rails.env.production?
7
7
  require 'rspec/rails'
@@ -64,21 +64,21 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
64
64
  context "with valid params" do
65
65
  it "creates a new <%= class_name %>" do
66
66
  expect {
67
- post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
67
+ post :create, params: {<%= singular_table_name %>: valid_attributes}, session: valid_session
68
68
  }.to change(<%= class_name %>, :count).by(1)
69
69
  end
70
70
 
71
- it "renders a JSON response with the new <%= ns_file_name %>" do
72
- post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
71
+ it "renders a JSON response with the new <%= singular_table_name %>" do
72
+ post :create, params: {<%= singular_table_name %>: valid_attributes}, session: valid_session
73
73
  expect(response).to have_http_status(:created)
74
74
  expect(response.content_type).to eq('application/json')
75
- expect(response.location).to eq(<%= ns_file_name %>_url(<%= class_name %>.last))
75
+ expect(response.location).to eq(<%= singular_table_name %>_url(<%= class_name %>.last))
76
76
  end
77
77
  end
78
78
 
79
79
  context "with invalid params" do
80
- it "renders a JSON response with errors for the new <%= ns_file_name %>" do
81
- post :create, params: {<%= ns_file_name %>: invalid_attributes}, session: valid_session
80
+ it "renders a JSON response with errors for the new <%= singular_table_name %>" do
81
+ post :create, params: {<%= singular_table_name %>: invalid_attributes}, session: valid_session
82
82
  expect(response).to have_http_status(:unprocessable_entity)
83
83
  expect(response.content_type).to eq('application/json')
84
84
  end
@@ -91,25 +91,25 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
91
91
  skip("Add a hash of attributes valid for your model")
92
92
  }
93
93
 
94
- it "updates the requested <%= ns_file_name %>" do
94
+ it "updates the requested <%= singular_table_name %>" do
95
95
  <%= file_name %> = <%= class_name %>.create! valid_attributes
96
- put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: new_attributes}, session: valid_session
96
+ put :update, params: {id: <%= file_name %>.to_param, <%= singular_table_name %>: new_attributes}, session: valid_session
97
97
  <%= file_name %>.reload
98
98
  skip("Add assertions for updated state")
99
99
  end
100
100
 
101
- it "renders a JSON response with the <%= ns_file_name %>" do
101
+ it "renders a JSON response with the <%= singular_table_name %>" do
102
102
  <%= file_name %> = <%= class_name %>.create! valid_attributes
103
- put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: valid_attributes}, session: valid_session
103
+ put :update, params: {id: <%= file_name %>.to_param, <%= singular_table_name %>: valid_attributes}, session: valid_session
104
104
  expect(response).to have_http_status(:ok)
105
105
  expect(response.content_type).to eq('application/json')
106
106
  end
107
107
  end
108
108
 
109
109
  context "with invalid params" do
110
- it "renders a JSON response with errors for the <%= ns_file_name %>" do
110
+ it "renders a JSON response with errors for the <%= singular_table_name %>" do
111
111
  <%= file_name %> = <%= class_name %>.create! valid_attributes
112
- put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: invalid_attributes}, session: valid_session
112
+ put :update, params: {id: <%= file_name %>.to_param, <%= singular_table_name %>: invalid_attributes}, session: valid_session
113
113
  expect(response).to have_http_status(:unprocessable_entity)
114
114
  expect(response.content_type).to eq('application/json')
115
115
  end
@@ -117,7 +117,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
117
117
  end
118
118
 
119
119
  describe "DELETE #destroy" do
120
- it "destroys the requested <%= ns_file_name %>" do
120
+ it "destroys the requested <%= singular_table_name %>" do
121
121
  <%= file_name %> = <%= class_name %>.create! valid_attributes
122
122
  expect {
123
123
  delete :destroy, params: {id: <%= file_name %>.to_param}, session: valid_session
@@ -56,13 +56,13 @@ RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %
56
56
  it "creates a new <%= class_name %>" do
57
57
  expect {
58
58
  post <%= index_helper %>_url,
59
- params: { <%= ns_file_name %>: valid_attributes }, headers: valid_headers, as: :json
59
+ params: { <%= singular_table_name %>: valid_attributes }, headers: valid_headers, as: :json
60
60
  }.to change(<%= class_name %>, :count).by(1)
61
61
  end
62
62
 
63
- it "renders a JSON response with the new <%= ns_file_name %>" do
63
+ it "renders a JSON response with the new <%= singular_table_name %>" do
64
64
  post <%= index_helper %>_url,
65
- params: { <%= ns_file_name %>: valid_attributes }, headers: valid_headers, as: :json
65
+ params: { <%= singular_table_name %>: valid_attributes }, headers: valid_headers, as: :json
66
66
  expect(response).to have_http_status(:created)
67
67
  expect(response.content_type).to match(a_string_including("application/json"))
68
68
  end
@@ -72,13 +72,13 @@ RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %
72
72
  it "does not create a new <%= class_name %>" do
73
73
  expect {
74
74
  post <%= index_helper %>_url,
75
- params: { <%= ns_file_name %>: invalid_attributes }, as: :json
75
+ params: { <%= singular_table_name %>: invalid_attributes }, as: :json
76
76
  }.to change(<%= class_name %>, :count).by(0)
77
77
  end
78
78
 
79
- it "renders a JSON response with errors for the new <%= ns_file_name %>" do
79
+ it "renders a JSON response with errors for the new <%= singular_table_name %>" do
80
80
  post <%= index_helper %>_url,
81
- params: { <%= ns_file_name %>: invalid_attributes }, headers: valid_headers, as: :json
81
+ params: { <%= singular_table_name %>: invalid_attributes }, headers: valid_headers, as: :json
82
82
  expect(response).to have_http_status(:unprocessable_entity)
83
83
  expect(response.content_type).to eq("application/json")
84
84
  end
@@ -91,7 +91,7 @@ RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %
91
91
  skip("Add a hash of attributes valid for your model")
92
92
  }
93
93
 
94
- it "updates the requested <%= ns_file_name %>" do
94
+ it "updates the requested <%= singular_table_name %>" do
95
95
  <%= file_name %> = <%= class_name %>.create! valid_attributes
96
96
  patch <%= show_helper.tr('@', '') %>,
97
97
  params: { <%= singular_table_name %>: new_attributes }, headers: valid_headers, as: :json
@@ -99,7 +99,7 @@ RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %
99
99
  skip("Add assertions for updated state")
100
100
  end
101
101
 
102
- it "renders a JSON response with the <%= ns_file_name %>" do
102
+ it "renders a JSON response with the <%= singular_table_name %>" do
103
103
  <%= file_name %> = <%= class_name %>.create! valid_attributes
104
104
  patch <%= show_helper.tr('@', '') %>,
105
105
  params: { <%= singular_table_name %>: new_attributes }, headers: valid_headers, as: :json
@@ -109,7 +109,7 @@ RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %
109
109
  end
110
110
 
111
111
  context "with invalid parameters" do
112
- it "renders a JSON response with errors for the <%= ns_file_name %>" do
112
+ it "renders a JSON response with errors for the <%= singular_table_name %>" do
113
113
  <%= file_name %> = <%= class_name %>.create! valid_attributes
114
114
  patch <%= show_helper.tr('@', '') %>,
115
115
  params: { <%= singular_table_name %>: invalid_attributes }, headers: valid_headers, as: :json
@@ -120,7 +120,7 @@ RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %
120
120
  end
121
121
 
122
122
  describe "DELETE /destroy" do
123
- it "destroys the requested <%= ns_file_name %>" do
123
+ it "destroys the requested <%= singular_table_name %>" do
124
124
  <%= file_name %> = <%= class_name %>.create! valid_attributes
125
125
  expect {
126
126
  delete <%= show_helper.tr('@', '') %>, headers: valid_headers, as: :json
@@ -79,19 +79,19 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
79
79
  context "with valid params" do
80
80
  it "creates a new <%= class_name %>" do
81
81
  expect {
82
- post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
82
+ post :create, params: {<%= singular_table_name %>: valid_attributes}, session: valid_session
83
83
  }.to change(<%= class_name %>, :count).by(1)
84
84
  end
85
85
 
86
- it "redirects to the created <%= ns_file_name %>" do
87
- post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
86
+ it "redirects to the created <%= singular_table_name %>" do
87
+ post :create, params: {<%= singular_table_name %>: valid_attributes}, session: valid_session
88
88
  expect(response).to redirect_to(<%= class_name %>.last)
89
89
  end
90
90
  end
91
91
 
92
92
  context "with invalid params" do
93
93
  it "returns a success response (i.e. to display the 'new' template)" do
94
- post :create, params: {<%= ns_file_name %>: invalid_attributes}, session: valid_session
94
+ post :create, params: {<%= singular_table_name %>: invalid_attributes}, session: valid_session
95
95
  expect(response).to be_successful
96
96
  end
97
97
  end
@@ -103,16 +103,16 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
103
103
  skip("Add a hash of attributes valid for your model")
104
104
  }
105
105
 
106
- it "updates the requested <%= ns_file_name %>" do
106
+ it "updates the requested <%= singular_table_name %>" do
107
107
  <%= file_name %> = <%= class_name %>.create! valid_attributes
108
- put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: new_attributes}, session: valid_session
108
+ put :update, params: {id: <%= file_name %>.to_param, <%= singular_table_name %>: new_attributes}, session: valid_session
109
109
  <%= file_name %>.reload
110
110
  skip("Add assertions for updated state")
111
111
  end
112
112
 
113
- it "redirects to the <%= ns_file_name %>" do
113
+ it "redirects to the <%= singular_table_name %>" do
114
114
  <%= file_name %> = <%= class_name %>.create! valid_attributes
115
- put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: valid_attributes}, session: valid_session
115
+ put :update, params: {id: <%= file_name %>.to_param, <%= singular_table_name %>: valid_attributes}, session: valid_session
116
116
  expect(response).to redirect_to(<%= file_name %>)
117
117
  end
118
118
  end
@@ -120,14 +120,14 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
120
120
  context "with invalid params" do
121
121
  it "returns a success response (i.e. to display the 'edit' template)" do
122
122
  <%= file_name %> = <%= class_name %>.create! valid_attributes
123
- put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: invalid_attributes}, session: valid_session
123
+ put :update, params: {id: <%= file_name %>.to_param, <%= singular_table_name %>: invalid_attributes}, session: valid_session
124
124
  expect(response).to be_successful
125
125
  end
126
126
  end
127
127
  end
128
128
 
129
129
  describe "DELETE #destroy" do
130
- it "destroys the requested <%= ns_file_name %>" do
130
+ it "destroys the requested <%= singular_table_name %>" do
131
131
  <%= file_name %> = <%= class_name %>.create! valid_attributes
132
132
  expect {
133
133
  delete :destroy, params: {id: <%= file_name %>.to_param}, session: valid_session
@@ -1,4 +1,4 @@
1
- require 'rails_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  # This spec was generated by rspec-rails when you ran the scaffold generator.
4
4
  # It demonstrates how one might use RSpec to test the controller code that
@@ -65,12 +65,12 @@ RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %
65
65
  context "with valid parameters" do
66
66
  it "creates a new <%= class_name %>" do
67
67
  expect {
68
- post <%= index_helper %>_url, params: { <%= ns_file_name %>: valid_attributes }
68
+ post <%= index_helper %>_url, params: { <%= singular_table_name %>: valid_attributes }
69
69
  }.to change(<%= class_name %>, :count).by(1)
70
70
  end
71
71
 
72
- it "redirects to the created <%= ns_file_name %>" do
73
- post <%= index_helper %>_url, params: { <%= ns_file_name %>: valid_attributes }
72
+ it "redirects to the created <%= singular_table_name %>" do
73
+ post <%= index_helper %>_url, params: { <%= singular_table_name %>: valid_attributes }
74
74
  expect(response).to redirect_to(<%= show_helper.gsub("\@#{file_name}", class_name+".last") %>)
75
75
  end
76
76
  end
@@ -78,12 +78,12 @@ RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %
78
78
  context "with invalid parameters" do
79
79
  it "does not create a new <%= class_name %>" do
80
80
  expect {
81
- post <%= index_helper %>_url, params: { <%= ns_file_name %>: invalid_attributes }
81
+ post <%= index_helper %>_url, params: { <%= singular_table_name %>: invalid_attributes }
82
82
  }.to change(<%= class_name %>, :count).by(0)
83
83
  end
84
84
 
85
85
  it "renders a successful response (i.e. to display the 'new' template)" do
86
- post <%= index_helper %>_url, params: { <%= ns_file_name %>: invalid_attributes }
86
+ post <%= index_helper %>_url, params: { <%= singular_table_name %>: invalid_attributes }
87
87
  expect(response).to be_successful
88
88
  end
89
89
  end
@@ -95,14 +95,14 @@ RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %
95
95
  skip("Add a hash of attributes valid for your model")
96
96
  }
97
97
 
98
- it "updates the requested <%= ns_file_name %>" do
98
+ it "updates the requested <%= singular_table_name %>" do
99
99
  <%= file_name %> = <%= class_name %>.create! valid_attributes
100
100
  patch <%= show_helper.tr('@', '') %>, params: { <%= singular_table_name %>: new_attributes }
101
101
  <%= file_name %>.reload
102
102
  skip("Add assertions for updated state")
103
103
  end
104
104
 
105
- it "redirects to the <%= ns_file_name %>" do
105
+ it "redirects to the <%= singular_table_name %>" do
106
106
  <%= file_name %> = <%= class_name %>.create! valid_attributes
107
107
  patch <%= show_helper.tr('@', '') %>, params: { <%= singular_table_name %>: new_attributes }
108
108
  <%= file_name %>.reload
@@ -120,7 +120,7 @@ RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %
120
120
  end
121
121
 
122
122
  describe "DELETE /destroy" do
123
- it "destroys the requested <%= ns_file_name %>" do
123
+ it "destroys the requested <%= singular_table_name %>" do
124
124
  <%= file_name %> = <%= class_name %>.create! valid_attributes
125
125
  expect {
126
126
  delete <%= show_helper.tr('@', '') %>
@@ -4,6 +4,7 @@
4
4
  require "rspec/mocks/argument_matchers"
5
5
  require "rspec/rails/matchers/active_job"
6
6
 
7
+ # rubocop: disable Metrics/ClassLength
7
8
  module RSpec
8
9
  module Rails
9
10
  module Matchers
@@ -119,9 +120,11 @@ module RSpec
119
120
  end
120
121
 
121
122
  def mail_job_message(job)
122
- mailer_method = job[:args][0..1].join('.')
123
+ job_args = deserialize_arguments(job)
124
+
125
+ mailer_method = job_args[0..1].join('.')
126
+ mailer_args = job_args[3..-1]
123
127
 
124
- mailer_args = job[:args][3..-1]
125
128
  msg_parts = []
126
129
  msg_parts << "with #{mailer_args}" if mailer_args.any?
127
130
  msg_parts << "on queue #{job[:queue]}" if job[:queue] && job[:queue] != 'mailers'
@@ -130,6 +133,30 @@ module RSpec
130
133
  "#{mailer_method} #{msg_parts.join(', ')}".strip
131
134
  end
132
135
 
136
+ # Ruby 3.1 changed how params were serialized on Rails 6.1
137
+ # so we override the active job implementation and customise it here.
138
+ def deserialize_arguments(job)
139
+ args = super
140
+
141
+ return args unless Hash === args.last
142
+
143
+ hash = args.pop
144
+
145
+ if hash.key?("_aj_ruby2_keywords")
146
+ keywords = hash["_aj_ruby2_keywords"]
147
+
148
+ original_hash = keywords.each_with_object({}) { |new_hash, keyword| new_hash[keyword.to_sym] = hash[keyword] }
149
+
150
+ args + [original_hash]
151
+ elsif hash.key?(:args) && hash.key?(:params)
152
+ args + [hash]
153
+ elsif hash.key?(:args)
154
+ args + hash[:args]
155
+ else
156
+ args + [hash]
157
+ end
158
+ end
159
+
133
160
  def legacy_mail?(job)
134
161
  job[:job] <= ActionMailer::DeliveryJob
135
162
  end
@@ -196,3 +223,4 @@ module RSpec
196
223
  end
197
224
  end
198
225
  end
226
+ # rubocop: enable Metrics/ClassLength
@@ -1,6 +1,6 @@
1
1
  # The following code inspired and modified from Rails' `assert_response`:
2
2
  #
3
- # https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/testing/assertions/response.rb#L22-L38
3
+ # https://github.com/rails/rails/blob/main/actionpack/lib/action_dispatch/testing/assertions/response.rb#L22-L38
4
4
  #
5
5
  # Thank you to all the Rails devs who did the heavy lifting on this!
6
6
 
@@ -243,7 +243,7 @@ module RSpec
243
243
 
244
244
  # @return [Array<Symbol>] of status codes which represent a HTTP status
245
245
  # code "group"
246
- # @see https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/testing/test_response.rb `ActionDispatch::TestResponse`
246
+ # @see https://github.com/rails/rails/blob/main/actionpack/lib/action_dispatch/testing/test_response.rb `ActionDispatch::TestResponse`
247
247
  def self.valid_statuses
248
248
  [
249
249
  :error, :success, :missing,
@@ -313,7 +313,7 @@ module RSpec
313
313
 
314
314
  # @return [String] formatting the associated code(s) for the various
315
315
  # status code "groups"
316
- # @see https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/testing/test_response.rb `ActionDispatch::TestResponse`
316
+ # @see https://github.com/rails/rails/blob/main/actionpack/lib/action_dispatch/testing/test_response.rb `ActionDispatch::TestResponse`
317
317
  # @see https://github.com/rack/rack/blob/master/lib/rack/response.rb `Rack::Response`
318
318
  def type_codes
319
319
  # At the time of this commit the most recent version of
@@ -373,7 +373,7 @@ module RSpec
373
373
  # expect(response).to have_http_status(404)
374
374
  # expect(page).to have_http_status(:created)
375
375
  #
376
- # @see https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/testing/test_response.rb `ActionDispatch::TestResponse`
376
+ # @see https://github.com/rails/rails/blob/main/actionpack/lib/action_dispatch/testing/test_response.rb `ActionDispatch::TestResponse`
377
377
  # @see https://github.com/rack/rack/blob/master/lib/rack/utils.rb `Rack::Utils::SYMBOL_TO_STATUS_CODE`
378
378
  def have_http_status(target)
379
379
  raise ArgumentError, "Invalid HTTP status: nil" unless target
@@ -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 = '5.0.2'
6
+ STRING = '5.0.3'
7
7
  end
8
8
  end
9
9
  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: 5.0.2
4
+ version: 5.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
@@ -44,7 +44,7 @@ cert_chain:
44
44
  ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
45
45
  F3MdtaDehhjC
46
46
  -----END CERTIFICATE-----
47
- date: 2021-08-14 00:00:00.000000000 Z
47
+ date: 2022-01-26 00:00:00.000000000 Z
48
48
  dependencies:
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: actionpack
@@ -176,16 +176,28 @@ dependencies:
176
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
+ - - "!="
183
+ - !ruby/object:Gem::Version
184
+ version: 4.0.0
185
+ - - "<"
180
186
  - !ruby/object:Gem::Version
181
- version: 1.3.5
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
+ - - "!="
196
+ - !ruby/object:Gem::Version
197
+ version: 4.0.0
198
+ - - "<"
187
199
  - !ruby/object:Gem::Version
188
- version: 1.3.5
200
+ version: 8.0.0
189
201
  description: rspec-rails is a testing framework for Rails 5+.
190
202
  email: rspec@googlegroups.com
191
203
  executables: []
@@ -296,7 +308,7 @@ licenses:
296
308
  - MIT
297
309
  metadata:
298
310
  bug_tracker_uri: https://github.com/rspec/rspec-rails/issues
299
- changelog_uri: https://github.com/rspec/rspec-rails/blob/v5.0.2/Changelog.md
311
+ changelog_uri: https://github.com/rspec/rspec-rails/blob/v5.0.3/Changelog.md
300
312
  documentation_uri: https://rspec.info/documentation/
301
313
  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
302
314
  source_code_uri: https://github.com/rspec/rspec-rails
@@ -316,7 +328,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
316
328
  - !ruby/object:Gem::Version
317
329
  version: '0'
318
330
  requirements: []
319
- rubygems_version: 3.2.22
331
+ rubygems_version: 3.3.3
320
332
  signing_key:
321
333
  specification_version: 4
322
334
  summary: RSpec for Rails
metadata.gz.sig CHANGED
Binary file