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