astjohn
2011-Dec-12 17:16 UTC
[rspec-users] render_template on create and update action - unexpected result with namespaced controllers
All, I''ve been having issues with my namespaced controllers and specs. I receive the following errors only on my create and update actions (with invalid parameters) and only on my namespaced controllers. My non-namespaced controllers have similar specs and work well. The application works as expected, but the specs are reporting: Failures: 1) Management::CountriesController POST create with invalid params re-renders the ''new'' template Failure/Error: response.should render_template(:new) expecting <"new"> but rendering with <""> # ./spec/controllers/management/countries_controller_spec.rb: 169:in `block (4 levels) in <top (required)>'' 2) Management::CountriesController PUT update with invalid params re- renders the ''edit'' template Failure/Error: response.should render_template(:edit) expecting <"edit"> but rendering with <""> # ./spec/controllers/management/countries_controller_spec.rb: 240:in `block (4 levels) in <top (required)>'' Here''s a gist to help my explanation: https://gist.github.com/1468233 I''m using the Devise/CanCan combo. Any help is greatly appreciated. I''ve been ignoring these for a while and it''s time to fix them. Cheers, Adam
Justin Ko
2011-Dec-22 07:50 UTC
[rspec-users] render_template on create and update action - unexpected result with namespaced controllers
On Dec 12, 2011, at 10:16 AM, astjohn wrote:> All, > > I''ve been having issues with my namespaced controllers and specs. I > receive the following errors only on my create and update actions > (with invalid parameters) and only on my namespaced controllers. My > non-namespaced controllers have similar specs and work well. The > application works as expected, but the specs are reporting: > > > Failures: > > 1) Management::CountriesController POST create with invalid params > re-renders the ''new'' template > Failure/Error: response.should render_template(:new) > expecting <"new"> but rendering with <""> > # ./spec/controllers/management/countries_controller_spec.rb: > 169:in `block (4 levels) in <top (required)>'' > > 2) Management::CountriesController PUT update with invalid params re- > renders the ''edit'' template > Failure/Error: response.should render_template(:edit) > expecting <"edit"> but rendering with <""> > # ./spec/controllers/management/countries_controller_spec.rb: > 240:in `block (4 levels) in <top (required)>'' > > > > Here''s a gist to help my explanation: > https://gist.github.com/1468233 > > I''m using the Devise/CanCan combo. > > Any help is greatly appreciated. I''ve been ignoring these for a while > and it''s time to fix them. > > Cheers, > Adam > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-usersAn empty response body tells me it''s redirecting. Couple ways to check that: 1.) Use "puts" and "raise" to see if it even gets to the `respond_with` 2.) Look at the test logs to see what it''s responding with. 3.) Use `response.response_code.should eq(200)`
Adam S.
2012-Jan-29 22:22 UTC
[rspec-users] render_template on create and update action - unexpected result with namespaced controllers
Hi Justin, Thanks for your reply. I agree with your suggestions, however the response is fine. Response code == 200 and nothing unusual in the logs. Note that my non-namespaced controllers with similar tests behave as they should. This weird issue only happens for my namespaced controllers. -Adam Justin Ko wrote in post #1037818:> On Dec 12, 2011, at 10:16 AM, astjohn wrote: > >> >> expecting <"edit"> but rendering with <""> >> Any help is greatly appreciated. I''ve been ignoring these for a while >> and it''s time to fix them. >> >> Cheers, >> Adam >> _______________________________________________ >> rspec-users mailing list >> rspec-users at rubyforge.org >> http://rubyforge.org/mailman/listinfo/rspec-users > > An empty response body tells me it''s redirecting. Couple ways to check > that: > > 1.) Use "puts" and "raise" to see if it even gets to the `respond_with` > 2.) Look at the test logs to see what it''s responding with. > 3.) Use `response.response_code.should eq(200)`-- Posted via http://www.ruby-forum.com/.