Added 'Bulk edit' functionality.
[gitredmine.git] / test / unit / member_test.rb
blob0797823060d4800c00a819dc4ee06031b49ab449
1 # redMine - project management software
2 # Copyright (C) 2006  Jean-Philippe Lang
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13
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
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18 require File.dirname(__FILE__) + '/../test_helper'
20 class MemberTest < Test::Unit::TestCase
21   fixtures :users, :projects, :roles, :members
23   def setup
24     @jsmith = Member.find(1)
25   end
26   
27   def test_create\r
28     member = Member.new(:project_id => 1, :user_id => 4, :role_id => 1)\r
29     assert member.save\r
30   end\r
32   def test_update    
33     assert_equal "eCookbook", @jsmith.project.name\r
34     assert_equal "Manager", @jsmith.role.name\r
35     assert_equal "jsmith", @jsmith.user.login\r
36     \r
37     @jsmith.role = Role.find(2)\r
38     assert @jsmith.save
39   end
40   \r
41   def test_validate\r
42     member = Member.new(:project_id => 1, :user_id => 2, :role_id =>2)\r
43     # same use can't have more than one role for a project\r
44     assert !member.save\r
45   end\r
46   \r
47   def test_destroy\r
48     @jsmith.destroy\r
49     assert_raise(ActiveRecord::RecordNotFound) { Member.find(@jsmith.id) }\r
50   end
51 end