Skip to content

Commit 540445c

Browse files
author
Sam Phippen
authored
Merge pull request #1689 from CodingItWrong/CodingItWrong/1605
Remove non-Rails-5 features from controller spec scaffold
2 parents a0d98aa + ea5f071 commit 540445c

File tree

1 file changed

+17
-51
lines changed

1 file changed

+17
-51
lines changed

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

Lines changed: 17 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
# is no simpler way to get a handle on the object needed for the example.
1818
# Message expectations are only used when there is no simpler way to specify
1919
# that an instance is receiving a specific message.
20+
#
21+
# Also compared to earlier versions of this generator, there are no longer any
22+
# expectations of assigns and templates rendered. These features have been
23+
# removed from Rails core in Rails 5, but can be added back in via the
24+
# `rails-controller-testing` gem.
2025

2126
<% module_namespacing do -%>
2227
RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:controller) %> do
@@ -39,50 +44,50 @@
3944
4045
<% unless options[:singleton] -%>
4146
describe "GET #index" do
42-
it "assigns all <%= table_name.pluralize %> as @<%= table_name.pluralize %>" do
47+
it "returns a success response" do
4348
<%= file_name %> = <%= class_name %>.create! valid_attributes
4449
<% if RUBY_VERSION < '1.9.3' -%>
4550
get :index, {}, valid_session
4651
<% else -%>
4752
get :index, params: {}, session: valid_session
4853
<% end -%>
49-
expect(assigns(:<%= table_name %>)).to eq([<%= file_name %>])
54+
expect(response).to be_success
5055
end
5156
end
5257
5358
<% end -%>
5459
describe "GET #show" do
55-
it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do
60+
it "returns a success response" do
5661
<%= file_name %> = <%= class_name %>.create! valid_attributes
5762
<% if RUBY_VERSION < '1.9.3' -%>
5863
get :show, {:id => <%= file_name %>.to_param}, valid_session
5964
<% else -%>
6065
get :show, params: {id: <%= file_name %>.to_param}, session: valid_session
6166
<% end -%>
62-
expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
67+
expect(response).to be_success
6368
end
6469
end
6570
6671
describe "GET #new" do
67-
it "assigns a new <%= ns_file_name %> as @<%= ns_file_name %>" do
72+
it "returns a success response" do
6873
<% if RUBY_VERSION < '1.9.3' -%>
6974
get :new, {}, valid_session
7075
<% else -%>
7176
get :new, params: {}, session: valid_session
7277
<% end -%>
73-
expect(assigns(:<%= ns_file_name %>)).to be_a_new(<%= class_name %>)
78+
expect(response).to be_success
7479
end
7580
end
7681
7782
describe "GET #edit" do
78-
it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do
83+
it "returns a success response" do
7984
<%= file_name %> = <%= class_name %>.create! valid_attributes
8085
<% if RUBY_VERSION < '1.9.3' -%>
8186
get :edit, {:id => <%= file_name %>.to_param}, valid_session
8287
<% else -%>
8388
get :edit, params: {id: <%= file_name %>.to_param}, session: valid_session
8489
<% end -%>
85-
expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
90+
expect(response).to be_success
8691
end
8792
end
8893
@@ -98,16 +103,6 @@
98103
}.to change(<%= class_name %>, :count).by(1)
99104
end
100105
101-
it "assigns a newly created <%= ns_file_name %> as @<%= ns_file_name %>" do
102-
<% if RUBY_VERSION < '1.9.3' -%>
103-
post :create, {:<%= ns_file_name %> => valid_attributes}, valid_session
104-
<% else -%>
105-
post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
106-
<% end -%>
107-
expect(assigns(:<%= ns_file_name %>)).to be_a(<%= class_name %>)
108-
expect(assigns(:<%= ns_file_name %>)).to be_persisted
109-
end
110-
111106
it "redirects to the created <%= ns_file_name %>" do
112107
<% if RUBY_VERSION < '1.9.3' -%>
113108
post :create, {:<%= ns_file_name %> => valid_attributes}, valid_session
@@ -119,22 +114,13 @@
119114
end
120115
121116
context "with invalid params" do
122-
it "assigns a newly created but unsaved <%= ns_file_name %> as @<%= ns_file_name %>" do
117+
it "returns a success response (i.e. to display the 'new' template)" do
123118
<% if RUBY_VERSION < '1.9.3' -%>
124119
post :create, {:<%= ns_file_name %> => invalid_attributes}, valid_session
125120
<% else -%>
126121
post :create, params: {<%= ns_file_name %>: invalid_attributes}, session: valid_session
127122
<% end -%>
128-
expect(assigns(:<%= ns_file_name %>)).to be_a_new(<%= class_name %>)
129-
end
130-
131-
it "re-renders the 'new' template" do
132-
<% if RUBY_VERSION < '1.9.3' -%>
133-
post :create, {:<%= ns_file_name %> => invalid_attributes}, valid_session
134-
<% else -%>
135-
post :create, params: {<%= ns_file_name %>: invalid_attributes}, session: valid_session
136-
<% end -%>
137-
expect(response).to render_template("new")
123+
expect(response).to be_success
138124
end
139125
end
140126
end
@@ -156,16 +142,6 @@
156142
skip("Add assertions for updated state")
157143
end
158144
159-
it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do
160-
<%= file_name %> = <%= class_name %>.create! valid_attributes
161-
<% if RUBY_VERSION < '1.9.3' -%>
162-
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => valid_attributes}, valid_session
163-
<% else -%>
164-
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: valid_attributes}, session: valid_session
165-
<% end -%>
166-
expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
167-
end
168-
169145
it "redirects to the <%= ns_file_name %>" do
170146
<%= file_name %> = <%= class_name %>.create! valid_attributes
171147
<% if RUBY_VERSION < '1.9.3' -%>
@@ -178,24 +154,14 @@
178154
end
179155
180156
context "with invalid params" do
181-
it "assigns the <%= ns_file_name %> as @<%= ns_file_name %>" do
182-
<%= file_name %> = <%= class_name %>.create! valid_attributes
183-
<% if RUBY_VERSION < '1.9.3' -%>
184-
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => invalid_attributes}, valid_session
185-
<% else -%>
186-
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: invalid_attributes}, session: valid_session
187-
<% end -%>
188-
expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
189-
end
190-
191-
it "re-renders the 'edit' template" do
157+
it "returns a success response (i.e. to display the 'edit' template)" do
192158
<%= file_name %> = <%= class_name %>.create! valid_attributes
193159
<% if RUBY_VERSION < '1.9.3' -%>
194160
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => invalid_attributes}, valid_session
195161
<% else -%>
196162
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: invalid_attributes}, session: valid_session
197163
<% end -%>
198-
expect(response).to render_template("edit")
164+
expect(response).to be_success
199165
end
200166
end
201167
end

0 commit comments

Comments
 (0)