##// END OF EJS Templates
Added request and controller objects to the hooks by default....
Added request and controller objects to the hooks by default. The request and controller objects are now added to all hook contexts by default. This will also make url_for work better in hooks by setting up the default_url_options :host, :port, and :protocol. Finally a new helper method @render_or@ has been added to ViewListener. This will let a hook easily render a partial without a full method definition. Thanks to Thomas Löber for the original patch. #2542 git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2429 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r2333:945ec8942a4c
r2368:5b7a5c39a7da
Show More
trackers_controller_test.rb
68 lines | 2.6 KiB | text/x-ruby | RubyLexer
/ test / functional / trackers_controller_test.rb
# Redmine - project management software
# Copyright (C) 2006-2009 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require File.dirname(__FILE__) + '/../test_helper'
require 'trackers_controller'
# Re-raise errors caught by the controller.
class TrackersController; def rescue_action(e) raise e end; end
class TrackersControllerTest < Test::Unit::TestCase
fixtures :trackers, :projects, :projects_trackers, :users
def setup
@controller = TrackersController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
User.current = nil
@request.session[:user_id] = 1 # admin
end
def test_get_edit
Tracker.find(1).project_ids = [1, 3]
get :edit, :id => 1
assert_response :success
assert_template 'edit'
assert_tag :input, :attributes => { :name => 'tracker[project_ids][]',
:value => '1',
:checked => 'checked' }
assert_tag :input, :attributes => { :name => 'tracker[project_ids][]',
:value => '2',
:checked => nil }
assert_tag :input, :attributes => { :name => 'tracker[project_ids][]',
:value => '',
:type => 'hidden'}
end
def test_post_edit
post :edit, :id => 1, :tracker => { :name => 'Renamed',
:project_ids => ['1', '2', ''] }
assert_redirected_to '/trackers/list'
assert_equal [1, 2], Tracker.find(1).project_ids.sort
end
def test_post_edit_without_projects
post :edit, :id => 1, :tracker => { :name => 'Renamed',
:project_ids => [''] }
assert_redirected_to '/trackers/list'
assert Tracker.find(1).project_ids.empty?
end
end