Mercurial > hg > soundsoftware-site
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 |