ruby-on-rails: mocking a route in functional test
-
07-07-2019 - |
Question
I have a route in my routes.rb file:
map.connect 'login', :controller => 'users', :action => 'login'
and I have a partial being rendered in a view as:
login_path
This view gets called in the functional test of the controller.
However, in the functional test I get the error:
ActionView::TemplateError: undefined local variable or method `login_path' for #<ActionView::Base:0x4762c90>
1) What's the best way of mocking it for the test?
2) Does this indicate a design flaw?
Solution
map.connect
will add an unnamed route. What you probably want in your routes.rb
is:
map.login 'login', :controller => 'users', :action => 'login'
That will create the named routes login_path
and login_url
for you.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow