diff test/unit/time_entry_activity_test.rb @ 1298:4f746d8966dd redmine_2.3_integration

Merge from redmine-2.3 branch to create new branch redmine-2.3-integration
author Chris Cannam
date Fri, 14 Jun 2013 09:28:30 +0100
parents 622f24f53b42
children e248c7af89ec
line wrap: on
line diff
--- a/test/unit/time_entry_activity_test.rb	Fri Jun 14 09:07:32 2013 +0100
+++ b/test/unit/time_entry_activity_test.rb	Fri Jun 14 09:28:30 2013 +0100
@@ -1,5 +1,5 @@
 # Redmine - project management software
-# Copyright (C) 2006-2012  Jean-Philippe Lang
+# Copyright (C) 2006-2013  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
@@ -84,5 +84,33 @@
     e.reload
     assert_equal "0", e.custom_value_for(field).value
   end
+
+  def test_system_activity_with_child_in_use_should_be_in_use
+    project = Project.generate!
+    system_activity = TimeEntryActivity.create!(:name => 'Activity')
+    project_activity = TimeEntryActivity.create!(:name => 'Activity', :project => project, :parent_id => system_activity.id)
+
+    TimeEntry.generate!(:project => project, :activity => project_activity)
+
+    assert project_activity.in_use?
+    assert system_activity.in_use?
+  end
+
+  def test_destroying_a_system_activity_should_reassign_children_activities
+    project = Project.generate!
+    system_activity = TimeEntryActivity.create!(:name => 'Activity')
+    project_activity = TimeEntryActivity.create!(:name => 'Activity', :project => project, :parent_id => system_activity.id)
+
+    entries = [
+      TimeEntry.generate!(:project => project, :activity => system_activity),
+      TimeEntry.generate!(:project => project, :activity => project_activity)
+    ]
+
+    assert_difference 'TimeEntryActivity.count', -2 do
+      assert_nothing_raised do
+        assert system_activity.destroy(TimeEntryActivity.find_by_name('Development'))
+      end
+    end
+    assert entries.all? {|entry| entry.reload.activity.name == 'Development'}
+  end
 end
-