summaryrefslogtreecommitdiffstats
path: root/test/unit/project_test.rb
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2009-10-21 22:34:45 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2009-10-21 22:34:45 +0000
commit5833ba9f81f0384e5b7f5a9d322adb1c5199e3d8 (patch)
tree90e628e7ff9b2fe4948fdd56546470e43d49455e /test/unit/project_test.rb
parente615266e9a036811c7f73a471ba48b5bbe27adfe (diff)
downloadredmine-5833ba9f81f0384e5b7f5a9d322adb1c5199e3d8.tar.gz
redmine-5833ba9f81f0384e5b7f5a9d322adb1c5199e3d8.zip
Added a Activities tab to Project Settings
* Changed Project#activities to allow getting inactive Activities also: * Changed the Enumeration#all named_scope to exclude project specific Activities * Changed the Project has_many time_entry_activities to include all by default and provided an #active method to filter them to active ones only * Split Project#activities to two methods and gave it a parameter that is used to determine if inactive activities are included (default is no) * Added a reset button to delete all project specific activities. * Added ProjectsController#reset_activities to remove the project specific activities * Added a HTTP DELETE route for reset_activities * Changed the permissions for managing project activities to have access to the ProjectsController#reset_activities action * Added a way to bulk save Project specific Activities in ProjectsController * #save_activities will save all the changed activities, including update the existing records * Added helper methods to the controller which will be refactored later * Allow the same TimeEntryActivity names on different projects #4077 git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2949 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/project_test.rb')
-rw-r--r--test/unit/project_test.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/unit/project_test.rb b/test/unit/project_test.rb
index 7ac9bf382..ad483a23c 100644
--- a/test/unit/project_test.rb
+++ b/test/unit/project_test.rb
@@ -344,10 +344,17 @@ class ProjectTest < ActiveSupport::TestCase
end
def test_activities_should_handle_nils
+ overridden_activity = TimeEntryActivity.new({:name => "Project", :project => Project.find(1), :parent => TimeEntryActivity.find(:first)})
TimeEntryActivity.delete_all
+ # No activities
project = Project.find(1)
assert project.activities.empty?
+
+ # No system, one overridden
+ assert overridden_activity.save!
+ project.reload
+ assert_equal [overridden_activity], project.activities
end
def test_activities_should_override_system_activities_with_project_activities
@@ -360,6 +367,14 @@ class ProjectTest < ActiveSupport::TestCase
assert !project.activities.include?(parent_activity), "System Activity found when it should have been overridden"
end
+ def test_activities_should_include_inactive_activities_if_specified
+ project = Project.find(1)
+ overridden_activity = TimeEntryActivity.new({:name => "Project", :project => project, :parent => TimeEntryActivity.find(:first), :active => false})
+ assert overridden_activity.save!
+
+ assert project.activities(true).include?(overridden_activity), "Inactive Project specific Activity not found"
+ end
+
context "Project#copy" do
setup do
ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests