Redmine/vendor/plugins/engines/test/functional/view_loading_test.rb
Eric Davis 7b0cb6aba8 Upgraded to Rails 2.3.4 (#3597)
* Ran the Rails upgrade
* Upgraded to Rails Engines 2.3.2
* Added a plugin to let Engines override application views.
* Converted tests to use the new classes:
** ActionController::TestCase for functional
** ActiveSupport::TestCase for units
* Converted ActiveRecord::Error message to a string.
* ActiveRecord grouping returns an ordered hash which doesn't have #sort!
* Updated the I18n storage_units format.
* Added some default initializers from a fresh rails app
* Changed the order of check_box_tags and hidden_field_tags.  The hidden tag
  needs to appear first in Rails 2.3, otherwise it will override any value in
  the check_box_tag.
* Removed the custom handler for when the cookie store is tampered with.
  Rails 2.3 removed the TamperedWithCookie exception and instead Rails will not
  load the data from it when it's been tampered with (e.g. no user login).
* Fixed mail layouts, 2.3 has problems with implicit multipart emails that
  use layouts.  Also removed some custom Redmine mailer code.
* Fixed a bug that occurred in tests where the "required" span tag would be
  added to the :field_status translation.  This resulted in an email string of:

    <li>Status<span class="required"> *</span><span class="required"> *</span>

  Instead of:

    <li>Status: New</li>

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2887 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-09-13 17:14:35 +00:00

60 lines
2.1 KiB
Ruby

# Tests in this file ensure that:
#
# * plugin views are found
# * views in the application take precedence over those in plugins
# * views in subsequently loaded plugins take precendence over those in previously loaded plugins
# * this works for namespaced views accordingly
require File.dirname(__FILE__) + '/../test_helper'
class ViewLoadingTest < ActionController::TestCase
def setup
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
# plugin views should be found
def test_WITH_a_view_defined_only_in_a_plugin_IT_should_find_the_view
get_action_on_controller :a_view, :alpha_plugin
assert_response_body 'alpha_plugin/a_view'
end
def test_WITH_a_namespaced_view_defined_only_in_a_plugin_IT_should_find_the_view
get_action_on_controller :a_view, :alpha_plugin, :namespace
assert_response_body 'namespace/alpha_plugin/a_view'
end
# app takes precedence over plugins
def test_WITH_a_view_defined_in_both_app_and_plugin_IT_should_find_the_one_in_app
get_action_on_controller :a_view, :app_and_plugin
assert_response_body 'app_and_plugin/a_view (from app)'
end
def test_WITH_a_namespaced_view_defined_in_both_app_and_plugin_IT_should_find_the_one_in_app
get_action_on_controller :a_view, :app_and_plugin, :namespace
assert_response_body 'namespace/app_and_plugin/a_view (from app)'
end
# subsequently loaded plugins take precendence over previously loaded plugins
def test_WITH_a_view_defined_in_two_plugins_IT_should_find_the_latter_of_both
get_action_on_controller :a_view, :shared_plugin
assert_response_body 'shared_plugin/a_view (from beta_plugin)'
end
def test_WITH_a_namespaced_view_defined_in_two_plugins_IT_should_find_the_latter_of_both
get_action_on_controller :a_view, :shared_plugin, :namespace
assert_response_body 'namespace/shared_plugin/a_view (from beta_plugin)'
end
# layouts loaded from plugins
def test_should_be_able_to_load_a_layout_from_a_plugin
get_action_on_controller :action_with_layout, :alpha_plugin
assert_response_body 'rendered in AlphaPluginController#action_with_layout (with plugin layout)'
end
end