aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/integration_test.rb
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2012-06-01 15:53:52 +0200
committerPiotr Sarnacki <drogus@gmail.com>2012-06-01 16:28:43 +0200
commit8d4f63a1a593928c1718e73043c8ca525440fb6b (patch)
tree7ed73a37da25064cfeca99e715e8db15c6defb7c /actionpack/test/controller/integration_test.rb
parentecd1722235d01f44f3fcef032145425cec92d9df (diff)
downloadrails-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/controller/integration_test.rb')
-rw-r--r--actionpack/test/controller/integration_test.rb19
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