Skip to content

Commit f9828b4

Browse files
committed
Use keyword args for HTTP methods in controller specs only on Rails 5
Since Rails 5 does not support Ruby 1.8, we no longer need to check RUBY_VERSION. This closes #1669.
1 parent 48f152b commit f9828b4

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

Changelog.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ Enhancements:
1616
Justice, #1689)
1717
* Add support for generating scaffolds for api app specs. (Krzysztof Zych, #1685)
1818

19+
Bug Fixes:
20+
21+
* Fix scaffold generator so that it does not generate broken controller specs
22+
on Rails 3.x and 4.x. (Yuji Nakayama, #1710)
23+
1924
### 3.5.2 / 2016-08-26
2025
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.5.1...v3.5.2)
2126

lib/generators/rspec/scaffold/templates/controller_spec.rb

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
describe "GET #index" do
4747
it "returns a success response" do
4848
<%= file_name %> = <%= class_name %>.create! valid_attributes
49-
<% if RUBY_VERSION < '1.9.3' -%>
49+
<% if Rails::VERSION::STRING < '5.0' -%>
5050
get :index, {}, valid_session
5151
<% else -%>
5252
get :index, params: {}, session: valid_session
@@ -59,7 +59,7 @@
5959
describe "GET #show" do
6060
it "returns a success response" do
6161
<%= file_name %> = <%= class_name %>.create! valid_attributes
62-
<% if RUBY_VERSION < '1.9.3' -%>
62+
<% if Rails::VERSION::STRING < '5.0' -%>
6363
get :show, {:id => <%= file_name %>.to_param}, valid_session
6464
<% else -%>
6565
get :show, params: {id: <%= file_name %>.to_param}, session: valid_session
@@ -70,7 +70,7 @@
7070
7171
describe "GET #new" do
7272
it "returns a success response" do
73-
<% if RUBY_VERSION < '1.9.3' -%>
73+
<% if Rails::VERSION::STRING < '5.0' -%>
7474
get :new, {}, valid_session
7575
<% else -%>
7676
get :new, params: {}, session: valid_session
@@ -82,7 +82,7 @@
8282
describe "GET #edit" do
8383
it "returns a success response" do
8484
<%= file_name %> = <%= class_name %>.create! valid_attributes
85-
<% if RUBY_VERSION < '1.9.3' -%>
85+
<% if Rails::VERSION::STRING < '5.0' -%>
8686
get :edit, {:id => <%= file_name %>.to_param}, valid_session
8787
<% else -%>
8888
get :edit, params: {id: <%= file_name %>.to_param}, session: valid_session
@@ -95,7 +95,7 @@
9595
context "with valid params" do
9696
it "creates a new <%= class_name %>" do
9797
expect {
98-
<% if RUBY_VERSION < '1.9.3' -%>
98+
<% if Rails::VERSION::STRING < '5.0' -%>
9999
post :create, {:<%= ns_file_name %> => valid_attributes}, valid_session
100100
<% else -%>
101101
post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
@@ -104,7 +104,7 @@
104104
end
105105
106106
it "redirects to the created <%= ns_file_name %>" do
107-
<% if RUBY_VERSION < '1.9.3' -%>
107+
<% if Rails::VERSION::STRING < '5.0' -%>
108108
post :create, {:<%= ns_file_name %> => valid_attributes}, valid_session
109109
<% else -%>
110110
post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
@@ -115,7 +115,7 @@
115115
116116
context "with invalid params" do
117117
it "returns a success response (i.e. to display the 'new' template)" do
118-
<% if RUBY_VERSION < '1.9.3' -%>
118+
<% if Rails::VERSION::STRING < '5.0' -%>
119119
post :create, {:<%= ns_file_name %> => invalid_attributes}, valid_session
120120
<% else -%>
121121
post :create, params: {<%= ns_file_name %>: invalid_attributes}, session: valid_session
@@ -133,7 +133,7 @@
133133
134134
it "updates the requested <%= ns_file_name %>" do
135135
<%= file_name %> = <%= class_name %>.create! valid_attributes
136-
<% if RUBY_VERSION < '1.9.3' -%>
136+
<% if Rails::VERSION::STRING < '5.0' -%>
137137
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => new_attributes}, valid_session
138138
<% else -%>
139139
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: new_attributes}, session: valid_session
@@ -144,7 +144,7 @@
144144
145145
it "redirects to the <%= ns_file_name %>" do
146146
<%= file_name %> = <%= class_name %>.create! valid_attributes
147-
<% if RUBY_VERSION < '1.9.3' -%>
147+
<% if Rails::VERSION::STRING < '5.0' -%>
148148
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => valid_attributes}, valid_session
149149
<% else -%>
150150
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: valid_attributes}, session: valid_session
@@ -156,7 +156,7 @@
156156
context "with invalid params" do
157157
it "returns a success response (i.e. to display the 'edit' template)" do
158158
<%= file_name %> = <%= class_name %>.create! valid_attributes
159-
<% if RUBY_VERSION < '1.9.3' -%>
159+
<% if Rails::VERSION::STRING < '5.0' -%>
160160
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => invalid_attributes}, valid_session
161161
<% else -%>
162162
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: invalid_attributes}, session: valid_session
@@ -170,7 +170,7 @@
170170
it "destroys the requested <%= ns_file_name %>" do
171171
<%= file_name %> = <%= class_name %>.create! valid_attributes
172172
expect {
173-
<% if RUBY_VERSION < '1.9.3' -%>
173+
<% if Rails::VERSION::STRING < '5.0' -%>
174174
delete :destroy, {:id => <%= file_name %>.to_param}, valid_session
175175
<% else -%>
176176
delete :destroy, params: {id: <%= file_name %>.to_param}, session: valid_session
@@ -180,7 +180,7 @@
180180
181181
it "redirects to the <%= table_name %> list" do
182182
<%= file_name %> = <%= class_name %>.create! valid_attributes
183-
<% if RUBY_VERSION < '1.9.3' -%>
183+
<% if Rails::VERSION::STRING < '5.0' -%>
184184
delete :destroy, {:id => <%= file_name %>.to_param}, valid_session
185185
<% else -%>
186186
delete :destroy, params: {id: <%= file_name %>.to_param}, session: valid_session

0 commit comments

Comments
 (0)