|
17 | 17 | # is no simpler way to get a handle on the object needed for the example.
|
18 | 18 | # Message expectations are only used when there is no simpler way to specify
|
19 | 19 | # 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. |
20 | 25 |
|
21 | 26 | <% module_namespacing do -%>
|
22 | 27 | RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:controller) %> do
|
|
39 | 44 |
|
40 | 45 | <% unless options[:singleton] -%>
|
41 | 46 | describe "GET #index" do
|
42 |
| - it "assigns all <%= table_name.pluralize %> as @<%= table_name.pluralize %>" do |
| 47 | + it "returns a success response" do |
43 | 48 | <%= file_name %> = <%= class_name %>.create! valid_attributes
|
44 | 49 | <% if RUBY_VERSION < '1.9.3' -%>
|
45 | 50 | get :index, {}, valid_session
|
46 | 51 | <% else -%>
|
47 | 52 | get :index, params: {}, session: valid_session
|
48 | 53 | <% end -%>
|
49 |
| - expect(assigns(:<%= table_name %>)).to eq([<%= file_name %>]) |
| 54 | + expect(response).to be_success |
50 | 55 | end
|
51 | 56 | end
|
52 | 57 |
|
53 | 58 | <% end -%>
|
54 | 59 | describe "GET #show" do
|
55 |
| - it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do |
| 60 | + it "returns a success response" do |
56 | 61 | <%= file_name %> = <%= class_name %>.create! valid_attributes
|
57 | 62 | <% if RUBY_VERSION < '1.9.3' -%>
|
58 | 63 | get :show, {:id => <%= file_name %>.to_param}, valid_session
|
59 | 64 | <% else -%>
|
60 | 65 | get :show, params: {id: <%= file_name %>.to_param}, session: valid_session
|
61 | 66 | <% end -%>
|
62 |
| - expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>) |
| 67 | + expect(response).to be_success |
63 | 68 | end
|
64 | 69 | end
|
65 | 70 |
|
66 | 71 | describe "GET #new" do
|
67 |
| - it "assigns a new <%= ns_file_name %> as @<%= ns_file_name %>" do |
| 72 | + it "returns a success response" do |
68 | 73 | <% if RUBY_VERSION < '1.9.3' -%>
|
69 | 74 | get :new, {}, valid_session
|
70 | 75 | <% else -%>
|
71 | 76 | get :new, params: {}, session: valid_session
|
72 | 77 | <% end -%>
|
73 |
| - expect(assigns(:<%= ns_file_name %>)).to be_a_new(<%= class_name %>) |
| 78 | + expect(response).to be_success |
74 | 79 | end
|
75 | 80 | end
|
76 | 81 |
|
77 | 82 | describe "GET #edit" do
|
78 |
| - it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do |
| 83 | + it "returns a success response" do |
79 | 84 | <%= file_name %> = <%= class_name %>.create! valid_attributes
|
80 | 85 | <% if RUBY_VERSION < '1.9.3' -%>
|
81 | 86 | get :edit, {:id => <%= file_name %>.to_param}, valid_session
|
82 | 87 | <% else -%>
|
83 | 88 | get :edit, params: {id: <%= file_name %>.to_param}, session: valid_session
|
84 | 89 | <% end -%>
|
85 |
| - expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>) |
| 90 | + expect(response).to be_success |
86 | 91 | end
|
87 | 92 | end
|
88 | 93 |
|
|
98 | 103 | }.to change(<%= class_name %>, :count).by(1)
|
99 | 104 | end
|
100 | 105 |
|
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 |
| -
|
111 | 106 | it "redirects to the created <%= ns_file_name %>" do
|
112 | 107 | <% if RUBY_VERSION < '1.9.3' -%>
|
113 | 108 | post :create, {:<%= ns_file_name %> => valid_attributes}, valid_session
|
|
119 | 114 | end
|
120 | 115 |
|
121 | 116 | 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 |
123 | 118 | <% if RUBY_VERSION < '1.9.3' -%>
|
124 | 119 | post :create, {:<%= ns_file_name %> => invalid_attributes}, valid_session
|
125 | 120 | <% else -%>
|
126 | 121 | post :create, params: {<%= ns_file_name %>: invalid_attributes}, session: valid_session
|
127 | 122 | <% 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 |
138 | 124 | end
|
139 | 125 | end
|
140 | 126 | end
|
|
156 | 142 | skip("Add assertions for updated state")
|
157 | 143 | end
|
158 | 144 |
|
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 |
| -
|
169 | 145 | it "redirects to the <%= ns_file_name %>" do
|
170 | 146 | <%= file_name %> = <%= class_name %>.create! valid_attributes
|
171 | 147 | <% if RUBY_VERSION < '1.9.3' -%>
|
|
178 | 154 | end
|
179 | 155 |
|
180 | 156 | 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 |
192 | 158 | <%= file_name %> = <%= class_name %>.create! valid_attributes
|
193 | 159 | <% if RUBY_VERSION < '1.9.3' -%>
|
194 | 160 | put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => invalid_attributes}, valid_session
|
195 | 161 | <% else -%>
|
196 | 162 | put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: invalid_attributes}, session: valid_session
|
197 | 163 | <% end -%>
|
198 |
| - expect(response).to render_template("edit") |
| 164 | + expect(response).to be_success |
199 | 165 | end
|
200 | 166 | end
|
201 | 167 | end
|
|
0 commit comments