You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

member_test.rb 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # redMine - project management software
  2. # Copyright (C) 2006 Jean-Philippe Lang
  3. #
  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.
  17. require File.dirname(__FILE__) + '/../test_helper'
  18. class MemberTest < Test::Unit::TestCase
  19. fixtures :users, :projects, :roles, :members
  20. def setup
  21. @jsmith = Member.find(1)
  22. end
  23. def test_create
  24. member = Member.new(:project_id => 1, :user_id => 4, :role_id => 1)
  25. assert member.save
  26. end
  27. def test_update
  28. assert_equal "eCookbook", @jsmith.project.name
  29. assert_equal "Manager", @jsmith.role.name
  30. assert_equal "jsmith", @jsmith.user.login
  31. @jsmith.role = Role.find(2)
  32. assert @jsmith.save
  33. end
  34. def test_validate
  35. member = Member.new(:project_id => 1, :user_id => 2, :role_id =>2)
  36. # same use can't have more than one role for a project
  37. assert !member.save
  38. end
  39. def test_destroy
  40. @jsmith.destroy
  41. assert_raise(ActiveRecord::RecordNotFound) { Member.find(@jsmith.id) }
  42. end
  43. end