diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-03-20 11:46:01 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-03-20 11:46:01 +0000 |
commit | 50cb77cfbb09750dad7809f46914b8f81dc0c13a (patch) | |
tree | 78efb78767631fa9aed6d665c28840b4916ee7cc /test/unit/project_test.rb | |
parent | 88dc1412d70edbcfe2c0e917b4cdf5891ac80f09 (diff) | |
download | redmine-50cb77cfbb09750dad7809f46914b8f81dc0c13a.tar.gz redmine-50cb77cfbb09750dad7809f46914b8f81dc0c13a.zip |
Fixed: children projects are deleted instead of being destroyed when destroying parent project (#7904).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5171 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/project_test.rb')
-rw-r--r-- | test/unit/project_test.rb | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/test/unit/project_test.rb b/test/unit/project_test.rb index 8eb79fdaa..6f5878d2e 100644 --- a/test/unit/project_test.rb +++ b/test/unit/project_test.rb @@ -1,5 +1,5 @@ -# redMine - project management software -# Copyright (C) 2006-2007 Jean-Philippe Lang +# Redmine - project management software +# Copyright (C) 2006-2011 Jean-Philippe Lang # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -182,6 +182,41 @@ class ProjectTest < ActiveSupport::TestCase assert_nil Issue.first(:conditions => {:project_id => @ecookbook.id}) end + def test_destroying_root_projects_should_clear_data + Project.roots.each do |root| + root.destroy + end + + assert_equal 0, Project.count, "Projects were not deleted: #{Project.all.inspect}" + assert_equal 0, Member.count, "Members were not deleted: #{Member.all.inspect}" + assert_equal 0, MemberRole.count + assert_equal 0, Issue.count + assert_equal 0, Journal.count + assert_equal 0, JournalDetail.count + assert_equal 0, Attachment.count + assert_equal 0, EnabledModule.count + assert_equal 0, IssueCategory.count + assert_equal 0, IssueRelation.count + assert_equal 0, Board.count + assert_equal 0, Message.count + assert_equal 0, News.count + assert_equal 0, Query.count(:conditions => "project_id IS NOT NULL") + assert_equal 0, Repository.count + assert_equal 0, Changeset.count + assert_equal 0, Change.count + #assert_equal 0, Comment.count + assert_equal 0, TimeEntry.count + assert_equal 0, Version.count + assert_equal 0, Watcher.count + assert_equal 0, Wiki.count + assert_equal 0, WikiPage.count + assert_equal 0, WikiContent.count + assert_equal 0, WikiContent::Version.count + assert_equal 0, Project.connection.select_all("SELECT * FROM projects_trackers").size + assert_equal 0, Project.connection.select_all("SELECT * FROM custom_fields_projects").size + assert_equal 0, CustomValue.count(:conditions => {:customized_type => ['Project', 'Issue', 'TimeEntry', 'Version']}) + end + def test_move_an_orphan_project_to_a_root_project sub = Project.find(2) sub.set_parent! @ecookbook |