Mercurial > hg > soundsoftware-site
diff 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 |
line wrap: on
line diff
--- a/test/unit/member_test.rb Tue Sep 09 09:28:31 2014 +0100 +++ b/test/unit/member_test.rb Tue Sep 09 09:29:00 2014 +0100 @@ -69,7 +69,8 @@ assert !member.save # must have one role at least - user = User.new(:firstname => "new1", :lastname => "user1", :mail => "test_validate@somenet.foo") + user = User.new(:firstname => "new1", :lastname => "user1", + :mail => "test_validate@somenet.foo") user.login = "test_validate" user.password, user.password_confirmation = "password", "password" assert user.save @@ -84,7 +85,8 @@ end def test_validate_member_role - user = User.new(:firstname => "new1", :lastname => "user1", :mail => "test_validate@somenet.foo") + user = User.new(:firstname => "new1", :lastname => "user1", + :mail => "test_validate@somenet.foo") user.login = "test_validate_member_role" user.password, user.password_confirmation = "password", "password" assert user.save @@ -105,6 +107,23 @@ assert_nil category1.assigned_to_id end + def test_destroy_should_trigger_callbacks_only_once + Member.class_eval { def destroy_test_callback; end} + Member.after_destroy :destroy_test_callback + + m = Member.create!(:user_id => 1, :project_id => 1, :role_ids => [1,3]) + + Member.any_instance.expects(:destroy_test_callback).once + assert_difference 'Member.count', -1 do + assert_difference 'MemberRole.count', -2 do + m.destroy + end + end + assert m.destroyed? + ensure + Member._destroy_callbacks.reject! {|c| c.filter==:destroy_test_callback} + end + def test_sort_without_roles a = Member.new(:roles => [Role.first]) b = Member.new