comparison test/unit/member_test.rb @ 1517:dffacf8a6908 redmine-2.5

Update to Redmine SVN revision 13367 on 2.5-stable branch
author Chris Cannam
date Tue, 09 Sep 2014 09:29:00 +0100
parents e248c7af89ec
children
comparison
equal deleted inserted replaced
1516:b450a9d58aed 1517:dffacf8a6908
67 member = Member.new(:project_id => 1, :user_id => 2, :role_ids => [2]) 67 member = Member.new(:project_id => 1, :user_id => 2, :role_ids => [2])
68 # same use can't have more than one membership for a project 68 # same use can't have more than one membership for a project
69 assert !member.save 69 assert !member.save
70 70
71 # must have one role at least 71 # must have one role at least
72 user = User.new(:firstname => "new1", :lastname => "user1", :mail => "test_validate@somenet.foo") 72 user = User.new(:firstname => "new1", :lastname => "user1",
73 :mail => "test_validate@somenet.foo")
73 user.login = "test_validate" 74 user.login = "test_validate"
74 user.password, user.password_confirmation = "password", "password" 75 user.password, user.password_confirmation = "password", "password"
75 assert user.save 76 assert user.save
76 77
77 set_language_if_valid 'fr' 78 set_language_if_valid 'fr'
82 str.force_encoding('UTF-8') if str.respond_to?(:force_encoding) 83 str.force_encoding('UTF-8') if str.respond_to?(:force_encoding)
83 assert_equal str, [member.errors.full_messages].flatten.join 84 assert_equal str, [member.errors.full_messages].flatten.join
84 end 85 end
85 86
86 def test_validate_member_role 87 def test_validate_member_role
87 user = User.new(:firstname => "new1", :lastname => "user1", :mail => "test_validate@somenet.foo") 88 user = User.new(:firstname => "new1", :lastname => "user1",
89 :mail => "test_validate@somenet.foo")
88 user.login = "test_validate_member_role" 90 user.login = "test_validate_member_role"
89 user.password, user.password_confirmation = "password", "password" 91 user.password, user.password_confirmation = "password", "password"
90 assert user.save 92 assert user.save
91 member = Member.new(:project_id => 1, :user_id => user.id, :role_ids => [5]) 93 member = Member.new(:project_id => 1, :user_id => user.id, :role_ids => [5])
92 assert !member.save 94 assert !member.save
103 assert_raise(ActiveRecord::RecordNotFound) { Member.find(@jsmith.id) } 105 assert_raise(ActiveRecord::RecordNotFound) { Member.find(@jsmith.id) }
104 category1.reload 106 category1.reload
105 assert_nil category1.assigned_to_id 107 assert_nil category1.assigned_to_id
106 end 108 end
107 109
110 def test_destroy_should_trigger_callbacks_only_once
111 Member.class_eval { def destroy_test_callback; end}
112 Member.after_destroy :destroy_test_callback
113
114 m = Member.create!(:user_id => 1, :project_id => 1, :role_ids => [1,3])
115
116 Member.any_instance.expects(:destroy_test_callback).once
117 assert_difference 'Member.count', -1 do
118 assert_difference 'MemberRole.count', -2 do
119 m.destroy
120 end
121 end
122 assert m.destroyed?
123 ensure
124 Member._destroy_callbacks.reject! {|c| c.filter==:destroy_test_callback}
125 end
126
108 def test_sort_without_roles 127 def test_sort_without_roles
109 a = Member.new(:roles => [Role.first]) 128 a = Member.new(:roles => [Role.first])
110 b = Member.new 129 b = Member.new
111 130
112 assert_equal -1, a <=> b 131 assert_equal -1, a <=> b