diff options
author | Eric Davis <edavis@littlestreamsoftware.com> | 2009-10-21 22:34:45 +0000 |
---|---|---|
committer | Eric Davis <edavis@littlestreamsoftware.com> | 2009-10-21 22:34:45 +0000 |
commit | 5833ba9f81f0384e5b7f5a9d322adb1c5199e3d8 (patch) | |
tree | 90e628e7ff9b2fe4948fdd56546470e43d49455e /test/unit/project_test.rb | |
parent | e615266e9a036811c7f73a471ba48b5bbe27adfe (diff) | |
download | redmine-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.rb | 15 |
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 |