I have the following route:
map.connect
':platform_filter/:software/:version/:platform/:distribution_channel/:id',
:controller => 'user/version',
:platform_filter => /all/,
:platform => /windows|macintosh|unix|linux/,
:distribution_channel => /Download|download/,
:action => 'download',
:id => /\d+/
Here is my test for this route
def test_product_download_before_authentication()
url = "all/matlab/r2006a/windows/download/1"
opts = {:controller => "user/version",
:distribution_channel => "download",
:action => "download",
:version => r2006a,
:software => matlab,
:platform_filter => "all",
:platform => "windows",
:id => 1}
assert_generates(url, opts)
assert_recognizes(opts, url)
assert_routing(url, opts)
@request.env['PATH_INFO'] = url
post(:download, opts)
assert_response(:redirect)
assert_template(nil)
end
The test passes without failure! However, if I comment out the
assert_generates
and the assert_recognizes, the test fails. I was under the impression
that assert_rounting is just a wrapper around assert_generates and
assert_recognizes so I’m totally confused by this. Any insight from
others would be greatly appreciated.