summaryrefslogtreecommitdiffstats
path: root/test/unit/member_test.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2006-12-05 20:45:04 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2006-12-05 20:45:04 +0000
commit96f83cc8f0f032554f771a59da22303cd473b878 (patch)
tree355a0d2ed653a5426c59ebf6a1fe65eba024b4d0 /test/unit/member_test.rb
parenteabc04d8368824965d3ac8de3fa84502e9c05d38 (diff)
downloadredmine-96f83cc8f0f032554f771a59da22303cd473b878.tar.gz
redmine-96f83cc8f0f032554f771a59da22303cd473b878.zip
trunk moved from /trunk/redmine to /trunk
git-svn-id: http://redmine.rubyforge.org/svn/trunk@67 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/member_test.rb')
-rw-r--r--test/unit/member_test.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/unit/member_test.rb b/test/unit/member_test.rb
new file mode 100644
index 000000000..079782306
--- /dev/null
+++ b/test/unit/member_test.rb
@@ -0,0 +1,51 @@
+# redMine - project management software
+# Copyright (C) 2006 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'
+
+class MemberTest < Test::Unit::TestCase
+ fixtures :users, :projects, :roles, :members
+
+ def setup
+ @jsmith = Member.find(1)
+ end
+
+ def test_create
+ member = Member.new(:project_id => 1, :user_id => 4, :role_id => 1)
+ assert member.save
+ end
+
+ def test_update
+ assert_equal "eCookbook", @jsmith.project.name
+ assert_equal "Manager", @jsmith.role.name
+ assert_equal "jsmith", @jsmith.user.login
+
+ @jsmith.role = Role.find(2)
+ assert @jsmith.save
+ end
+
+ def test_validate
+ member = Member.new(:project_id => 1, :user_id => 2, :role_id =>2)
+ # same use can't have more than one role for a project
+ assert !member.save
+ end
+
+ def test_destroy
+ @jsmith.destroy
+ assert_raise(ActiveRecord::RecordNotFound) { Member.find(@jsmith.id) }
+ end
+end