diff options
author | Piotr Sarnacki <drogus@gmail.com> | 2012-06-01 15:53:52 +0200 |
---|---|---|
committer | Piotr Sarnacki <drogus@gmail.com> | 2012-06-01 16:28:43 +0200 |
commit | 8d4f63a1a593928c1718e73043c8ca525440fb6b (patch) | |
tree | 7ed73a37da25064cfeca99e715e8db15c6defb7c /actionpack/test | |
parent | ecd1722235d01f44f3fcef032145425cec92d9df (diff) | |
download | rails-8d4f63a1a593928c1718e73043c8ca525440fb6b.tar.gz rails-8d4f63a1a593928c1718e73043c8ca525440fb6b.tar.bz2 rails-8d4f63a1a593928c1718e73043c8ca525440fb6b.zip |
Include routes.mounted_helpers into integration tests
In integration tests, you might want to use helpers from engines that
you mounted in your application. It's not hard to add it by yourself,
but it's unneeded boilerplate. mounted_helpers are now included by
default. That means that given engine mounted like:
mount Foo::Engine => "/foo", :as => "foo"
you will be able to use paths from this engine in tests this way:
foo.root_path #=> "/foo"
(closes #6573)
Diffstat (limited to 'actionpack/test')
-rw-r--r-- | actionpack/test/controller/integration_test.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/actionpack/test/controller/integration_test.rb b/actionpack/test/controller/integration_test.rb index fda263310b..a9e59e2dbb 100644 --- a/actionpack/test/controller/integration_test.rb +++ b/actionpack/test/controller/integration_test.rb @@ -495,11 +495,26 @@ class ApplicationIntegrationTest < ActionDispatch::IntegrationTest @routes ||= ActionDispatch::Routing::RouteSet.new end + class MountedApp + def self.routes + @routes ||= ActionDispatch::Routing::RouteSet.new + end + + routes.draw do + match 'baz', :to => 'application_integration_test/test#index', :as => :baz + end + + def self.call(*) + end + end + routes.draw do match '', :to => 'application_integration_test/test#index', :as => :empty_string match 'foo', :to => 'application_integration_test/test#index', :as => :foo match 'bar', :to => 'application_integration_test/test#index', :as => :bar + + mount MountedApp => '/mounted', :as => "mounted" end def app @@ -512,6 +527,10 @@ class ApplicationIntegrationTest < ActionDispatch::IntegrationTest assert_equal '/bar', bar_path end + test "includes mounted helpers" do + assert_equal '/mounted/baz', mounted.baz_path + end + test "route helpers after controller access" do get '/' assert_equal '/', empty_string_path |