test case to illustrate isolated engine inheritance issue

This commit is contained in:
Josh Goodall 2020-09-21 16:34:37 +10:00 committed by John Hawthorn
parent d6ca73306c
commit 715d6bc4d0
1 changed files with 28 additions and 1 deletions

View File

@ -644,7 +644,7 @@ en:
assert_equal Rails.application.routes, env["action_dispatch.routes"]
end
test "isolated engine should include only its own routes and helpers" do
test "isolated engine routes and helpers are isolated to that engine" do
@plugin.write "lib/bukkits.rb", <<-RUBY
module Bukkits
class Engine < ::Rails::Engine
@ -729,6 +729,30 @@ en:
end
RUBY
@plugin.write "app/controllers/bukkits/session_controller.rb", <<-RUBY
module Bukkits
class SessionController < ApplicationController
def index
render plain: default_path
end
private
def default_path
foo_path
end
end
end
RUBY
controller "bar", <<-RUBY
class BarController < Bukkits::SessionController
private
def default_path
bar_path
end
end
RUBY
@plugin.write "app/mailers/bukkits/my_mailer.rb", <<-RUBY
module Bukkits
class MyMailer < ActionMailer::Base
@ -746,6 +770,9 @@ en:
assert ::Bukkits::MyMailer.method_defined?(:foo_url)
assert_not ::Bukkits::MyMailer.method_defined?(:bar_url)
get("/bar")
assert_equal "/bar", last_response.body
get("/bukkits/from_app")
assert_equal "false", last_response.body