##// 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:

r2274:12792d8068d0
r2368:5b7a5c39a7da
Show More
my_controller_test.rb
108 lines | 3.5 KiB | text/x-ruby | RubyLexer
/ test / functional / my_controller_test.rb
Jean-Philippe Lang
Moved functional tests for MyController...
r484 # redMine - project management software
# Copyright (C) 2006-2007 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.
Jean-Philippe Lang
- new controller "myController"...
r60 require File.dirname(__FILE__) + '/../test_helper'
require 'my_controller'
# Re-raise errors caught by the controller.
class MyController; def rescue_action(e) raise e end; end
class MyControllerTest < Test::Unit::TestCase
Jean-Philippe Lang
User custom fields can now be set as editable so that users can edit them on 'My account'....
r2274 fixtures :users, :issues, :issue_statuses, :trackers, :enumerations, :custom_fields
Jean-Philippe Lang
Added a cross-project issue list. It displays the issues of all the projects visible by the user....
r673
Jean-Philippe Lang
- new controller "myController"...
r60 def setup
@controller = MyController.new
@request = ActionController::TestRequest.new
Jean-Philippe Lang
Moved functional tests for MyController...
r484 @request.session[:user_id] = 2
Jean-Philippe Lang
- new controller "myController"...
r60 @response = ActionController::TestResponse.new
end
Jean-Philippe Lang
Moved functional tests for MyController...
r484 def test_index
get :index
assert_response :success
assert_template 'page'
end
def test_page
get :page
assert_response :success
assert_template 'page'
end
Jean-Philippe Lang
User custom fields can now be set as editable so that users can edit them on 'My account'....
r2274 def test_my_account_should_show_editable_custom_fields
Jean-Philippe Lang
Moved functional tests for MyController...
r484 get :account
assert_response :success
assert_template 'account'
assert_equal User.find(2), assigns(:user)
Jean-Philippe Lang
User custom fields can now be set as editable so that users can edit them on 'My account'....
r2274
assert_tag :input, :attributes => { :name => 'user[custom_field_values][4]'}
end
def test_my_account_should_not_show_non_editable_custom_fields
UserCustomField.find(4).update_attribute :editable, false
get :account
assert_response :success
assert_template 'account'
assert_equal User.find(2), assigns(:user)
assert_no_tag :input, :attributes => { :name => 'user[custom_field_values][4]'}
Jean-Philippe Lang
Moved functional tests for MyController...
r484 end
def test_update_account
Jean-Philippe Lang
User custom fields can now be set as editable so that users can edit them on 'My account'....
r2274 post :account, :user => {:firstname => "Joe",
:login => "root",
:admin => 1,
:custom_field_values => {"4" => "0100562500"}}
Jean-Philippe Lang
Added a cross-project issue list. It displays the issues of all the projects visible by the user....
r673 assert_redirected_to 'my/account'
Jean-Philippe Lang
Moved functional tests for MyController...
r484 user = User.find(2)
assert_equal user, assigns(:user)
assert_equal "Joe", user.firstname
assert_equal "jsmith", user.login
Jean-Philippe Lang
User custom fields can now be set as editable so that users can edit them on 'My account'....
r2274 assert_equal "0100562500", user.custom_value_for(4).value
Jean-Philippe Lang
Moved functional tests for MyController...
r484 assert !user.admin?
end
def test_change_password
Jean-Philippe Lang
More flexible mail notifications settings at user level. A user has now 3 options:...
r842 get :password
Jean-Philippe Lang
Moved functional tests for MyController...
r484 assert_response :success
Jean-Philippe Lang
More flexible mail notifications settings at user level. A user has now 3 options:...
r842 assert_template 'password'
Jean-Philippe Lang
Moved functional tests for MyController...
r484
# non matching password confirmation
Jean-Philippe Lang
More flexible mail notifications settings at user level. A user has now 3 options:...
r842 post :password, :password => 'jsmith',
:new_password => 'hello',
:new_password_confirmation => 'hello2'
Jean-Philippe Lang
Moved functional tests for MyController...
r484 assert_response :success
Jean-Philippe Lang
More flexible mail notifications settings at user level. A user has now 3 options:...
r842 assert_template 'password'
Jean-Philippe Lang
Moved functional tests for MyController...
r484 assert_tag :tag => "div", :attributes => { :class => "errorExplanation" }
# wrong password
Jean-Philippe Lang
More flexible mail notifications settings at user level. A user has now 3 options:...
r842 post :password, :password => 'wrongpassword',
:new_password => 'hello',
:new_password_confirmation => 'hello'
assert_response :success
assert_template 'password'
Jean-Philippe Lang
Fixed my_controller_test.rb (errors are now in flash[:error])...
r603 assert_equal 'Wrong password', flash[:error]
Jean-Philippe Lang
Moved functional tests for MyController...
r484
# good password
Jean-Philippe Lang
More flexible mail notifications settings at user level. A user has now 3 options:...
r842 post :password, :password => 'jsmith',
:new_password => 'hello',
:new_password_confirmation => 'hello'
Jean-Philippe Lang
Moved functional tests for MyController...
r484 assert_redirected_to 'my/account'
assert User.try_to_login('jsmith', 'hello')
Jean-Philippe Lang
- new controller "myController"...
r60 end
end