comparison test/unit/issue_nested_set_test.rb @ 909:cbb26bc654de redmine-1.3

Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author Chris Cannam
date Fri, 24 Feb 2012 19:09:32 +0000
parents cbce1fd3b1b7
children 433d4f72a19b
comparison
equal deleted inserted replaced
908:c6c2cbd0afee 909:cbb26bc654de
49 assert_equal [parent.id, parent.id, 2, 3], [child.root_id, child.parent_id, child.lft, child.rgt] 49 assert_equal [parent.id, parent.id, 2, 3], [child.root_id, child.parent_id, child.lft, child.rgt]
50 end 50 end
51 51
52 def test_creating_a_child_in_different_project_should_not_validate 52 def test_creating_a_child_in_different_project_should_not_validate
53 issue = create_issue! 53 issue = create_issue!
54 child = Issue.new(:project_id => 2, :tracker_id => 1, :author_id => 1, :subject => 'child', :parent_issue_id => issue.id) 54 child = Issue.new(:project_id => 2, :tracker_id => 1, :author_id => 1,
55 :subject => 'child', :parent_issue_id => issue.id)
55 assert !child.save 56 assert !child.save
56 assert_not_nil child.errors.on(:parent_issue_id) 57 assert_not_nil child.errors[:parent_issue_id]
57 end 58 end
58 59
59 def test_move_a_root_to_child 60 def test_move_a_root_to_child
60 parent1 = create_issue! 61 parent1 = create_issue!
61 parent2 = create_issue! 62 parent2 = create_issue!
176 grandchild = create_issue!(:parent_issue_id => child.id) 177 grandchild = create_issue!(:parent_issue_id => child.id)
177 178
178 child.reload 179 child.reload
179 child.parent_issue_id = grandchild.id 180 child.parent_issue_id = grandchild.id
180 assert !child.save 181 assert !child.save
181 assert_not_nil child.errors.on(:parent_issue_id) 182 assert_not_nil child.errors[:parent_issue_id]
182 end 183 end
183 184
184 def test_moving_an_issue_should_keep_valid_relations_only 185 def test_moving_an_issue_should_keep_valid_relations_only
185 issue1 = create_issue! 186 issue1 = create_issue!
186 issue2 = create_issue! 187 issue2 = create_issue!
220 assert !Issue.exists?(issue2.id) 221 assert !Issue.exists?(issue2.id)
221 assert !Issue.exists?(issue3.id) 222 assert !Issue.exists?(issue3.id)
222 assert_equal [issue1.id, 1, 4], [issue1.root_id, issue1.lft, issue1.rgt] 223 assert_equal [issue1.id, 1, 4], [issue1.root_id, issue1.lft, issue1.rgt]
223 assert_equal [issue1.id, 2, 3], [issue4.root_id, issue4.lft, issue4.rgt] 224 assert_equal [issue1.id, 2, 3], [issue4.root_id, issue4.lft, issue4.rgt]
224 end 225 end
226
227 def test_destroy_child_should_update_parent
228 issue = create_issue!
229 child1 = create_issue!(:parent_issue_id => issue.id)
230 child2 = create_issue!(:parent_issue_id => issue.id)
231
232 issue.reload
233 assert_equal [issue.id, 1, 6], [issue.root_id, issue.lft, issue.rgt]
234
235 child2.reload.destroy
236
237 issue.reload
238 assert_equal [issue.id, 1, 4], [issue.root_id, issue.lft, issue.rgt]
239 end
225 240
226 def test_destroy_parent_issue_updated_during_children_destroy 241 def test_destroy_parent_issue_updated_during_children_destroy
227 parent = create_issue! 242 parent = create_issue!
228 create_issue!(:start_date => Date.today, :parent_issue_id => parent.id) 243 create_issue!(:start_date => Date.today, :parent_issue_id => parent.id)
229 create_issue!(:start_date => 2.days.from_now, :parent_issue_id => parent.id) 244 create_issue!(:start_date => 2.days.from_now, :parent_issue_id => parent.id)
249 end 264 end
250 end 265 end
251 266
252 root = Issue.find(root.id) 267 root = Issue.find(root.id)
253 assert root.leaf?, "Root issue is not a leaf (lft: #{root.lft}, rgt: #{root.rgt})" 268 assert root.leaf?, "Root issue is not a leaf (lft: #{root.lft}, rgt: #{root.rgt})"
269 end
270
271 def test_destroy_issue_with_grand_child
272 parent = create_issue!
273 issue = create_issue!(:parent_issue_id => parent.id)
274 child = create_issue!(:parent_issue_id => issue.id)
275 grandchild1 = create_issue!(:parent_issue_id => child.id)
276 grandchild2 = create_issue!(:parent_issue_id => child.id)
277
278 assert_difference 'Issue.count', -4 do
279 Issue.find(issue.id).destroy
280 parent.reload
281 assert_equal [1, 2], [parent.lft, parent.rgt]
282 end
254 end 283 end
255 284
256 def test_parent_priority_should_be_the_highest_child_priority 285 def test_parent_priority_should_be_the_highest_child_priority
257 parent = create_issue!(:priority => IssuePriority.find_by_name('Normal')) 286 parent = create_issue!(:priority => IssuePriority.find_by_name('Normal'))
258 # Create children 287 # Create children