# How can I test a "magic" route?

**URL:** <https://www.ruby-forum.com/t/how-can-i-test-a-magic-route/49694>\
**Category:** Rails\
**Created:** [December 7, 2005, 8:02pm UTC](https://www.ruby-forum.com/t/how-can-i-test-a-magic-route/49694 "2005-12-07T20:02:51Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![peter.fitzgibbons](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/838e76/32.png) [@peter.fitzgibbons](https://www.ruby-forum.com/u/peter.fitzgibbons)\
**Post date:** [December 7, 2005, 8:02pm UTC](https://www.ruby-forum.com/t/how-can-i-test-a-magic-route/49694/1 "2005-12-07T20:02:51Z")

</div>

Hello,  
I have this in routes.rb:

map.connect ‘UserLogin.jsp’, :controller=\>“user”, :action=\>“login”

This does what it should at runtime. I would love to unit-test it. I  
can’t  
figure how?

Any Ideas are appreciated!

–

---

<div class="post-metadata">

**Author:** ![peter.fitzgibbons](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/838e76/32.png) [@peter.fitzgibbons](https://www.ruby-forum.com/u/peter.fitzgibbons)\
**Post date:** [December 7, 2005, 8:10pm UTC](https://www.ruby-forum.com/t/how-can-i-test-a-magic-route/49694/2 "2005-12-07T20:10:58Z")

</div>

On 12/7/05, Peter F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hello,  
> I have this in routes.rb:
> 
> map.connect ‘UserLogin.jsp’, :controller=\>“user”, :action=\>“login”
> 
> This does what it should at runtime. I would love to unit-test it. I can’t  
> figure how?
> 
> Any Ideas are appreciated!

In your functional test for UserController:

assert\_routing  
[http://rails.rubyonrails.com/classes/Test/Unit/Assertions.html#M000797](http://rails.rubyonrails.com/classes/Test/Unit/Assertions.html#M000797)

assert\_routing really calls assert\_generates and assert\_recognizes

–  
rick  
[http://techno-weenie.net](http://techno-weenie.net)

---

<div class="post-metadata">

**Author:** ![peter.fitzgibbons](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/838e76/32.png) [@peter.fitzgibbons](https://www.ruby-forum.com/u/peter.fitzgibbons)\
**Post date:** [December 7, 2005, 8:19pm UTC](https://www.ruby-forum.com/t/how-can-i-test-a-magic-route/49694/3 "2005-12-07T20:19:10Z")

</div>

On 12/7/05, Rick O. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > 
> 
> rick  
> [http://techno-weenie.net](http://techno-weenie.net)
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

Except that the url “/UserLogin.jsp” is not a proper rails segment, and  
is  
not really reversible in the routing hierarchy (user/login resolves to /  
in  
subsequent routing.

Here’s the entire table :

ActionController::Routing::Routes.draw do |map|  
map.connect ‘’, :controller =\> “user”, :action =\> “login”

map.connect ‘UserLogin.jsp’, :controller=\>“user”, :action=\>“login”

map.connect ‘:controller/service.wsdl’, :action =\> ‘wsdl’

map.connect ‘:controller/:action/:id’

end

–

---

<div class="post-metadata">

**Author:** ![peter.fitzgibbons](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/838e76/32.png) [@peter.fitzgibbons](https://www.ruby-forum.com/u/peter.fitzgibbons)\
**Post date:** [December 7, 2005, 8:23pm UTC](https://www.ruby-forum.com/t/how-can-i-test-a-magic-route/49694/4 "2005-12-07T20:23:16Z")

</div>

> map.connect ‘:controller/service.wsdl’, :action =\> ‘wsdl’
> 
> map.connect ‘:controller/:action/:id’
> 
> end

assert\_routing tests both ways by calling assert\_recognizes and  
assert\_generates. I’m guessing you just want assert\_recognizes then.

–  
rick  
[http://techno-weenie.net](http://techno-weenie.net)
