##// END OF EJS Templates
Adds functional test for user search....
Jean-Philippe Lang -
r1944:b4101c8b65ec
parent child
Show More
@@ -1,62 +1,72
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006-2007 Jean-Philippe Lang
2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 require File.dirname(__FILE__) + '/../test_helper'
18 require File.dirname(__FILE__) + '/../test_helper'
19 require 'users_controller'
19 require 'users_controller'
20
20
21 # Re-raise errors caught by the controller.
21 # Re-raise errors caught by the controller.
22 class UsersController; def rescue_action(e) raise e end; end
22 class UsersController; def rescue_action(e) raise e end; end
23
23
24 class UsersControllerTest < Test::Unit::TestCase
24 class UsersControllerTest < Test::Unit::TestCase
25 fixtures :users, :projects, :members
25 fixtures :users, :projects, :members
26
26
27 def setup
27 def setup
28 @controller = UsersController.new
28 @controller = UsersController.new
29 @request = ActionController::TestRequest.new
29 @request = ActionController::TestRequest.new
30 @response = ActionController::TestResponse.new
30 @response = ActionController::TestResponse.new
31 User.current = nil
31 User.current = nil
32 @request.session[:user_id] = 1 # admin
32 @request.session[:user_id] = 1 # admin
33 end
33 end
34
34
35 def test_index
35 def test_index
36 get :index
36 get :index
37 assert_response :success
37 assert_response :success
38 assert_template 'list'
38 assert_template 'list'
39 end
39 end
40
40
41 def test_list
41 def test_list
42 get :list
42 get :list
43 assert_response :success
43 assert_response :success
44 assert_template 'list'
44 assert_template 'list'
45 assert_not_nil assigns(:users)
45 assert_not_nil assigns(:users)
46 # active users only
46 # active users only
47 assert_nil assigns(:users).detect {|u| !u.active?}
47 assert_nil assigns(:users).detect {|u| !u.active?}
48 end
48 end
49
49
50 def test_list_with_name_filter
51 get :list, :name => 'john'
52 assert_response :success
53 assert_template 'list'
54 users = assigns(:users)
55 assert_not_nil users
56 assert_equal 1, users.size
57 assert_equal 'John', users.first.firstname
58 end
59
50 def test_edit_membership
60 def test_edit_membership
51 post :edit_membership, :id => 2, :membership_id => 1,
61 post :edit_membership, :id => 2, :membership_id => 1,
52 :membership => { :role_id => 2}
62 :membership => { :role_id => 2}
53 assert_redirected_to 'users/edit/2'
63 assert_redirected_to 'users/edit/2'
54 assert_equal 2, Member.find(1).role_id
64 assert_equal 2, Member.find(1).role_id
55 end
65 end
56
66
57 def test_destroy_membership
67 def test_destroy_membership
58 post :destroy_membership, :id => 2, :membership_id => 1
68 post :destroy_membership, :id => 2, :membership_id => 1
59 assert_redirected_to 'users/edit/2'
69 assert_redirected_to 'users/edit/2'
60 assert_nil Member.find_by_id(1)
70 assert_nil Member.find_by_id(1)
61 end
71 end
62 end
72 end
General Comments 0
You need to be logged in to leave comments. Login now