summaryrefslogtreecommitdiffstats
path: root/test/unit/helpers
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2009-10-21 22:34:39 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2009-10-21 22:34:39 +0000
commite615266e9a036811c7f73a471ba48b5bbe27adfe (patch)
tree83458d985c737f3cd898278d1066015eac395547 /test/unit/helpers
parent29301c8a381aa5995a0ce2e10ad91f210dc6464f (diff)
downloadredmine-e615266e9a036811c7f73a471ba48b5bbe27adfe.tar.gz
redmine-e615266e9a036811c7f73a471ba48b5bbe27adfe.zip
Changed the Timelogs to use both the Systemwide and Project specific TimeEntryActivities
* Added Project#activities to return all the Systemwide and Project specific activities, excluding Systemwide ones that are overridden. * Added some tests for TimelogHelper. #4077 git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2948 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/helpers')
-rw-r--r--test/unit/helpers/timelog_helper_test.rb56
1 files changed, 56 insertions, 0 deletions
diff --git a/test/unit/helpers/timelog_helper_test.rb b/test/unit/helpers/timelog_helper_test.rb
new file mode 100644
index 000000000..0056a0d92
--- /dev/null
+++ b/test/unit/helpers/timelog_helper_test.rb
@@ -0,0 +1,56 @@
+# Redmine - project management software
+# Copyright (C) 2006-2009 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
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+require File.dirname(__FILE__) + '/../../test_helper'
+
+class TimelogHelperTest < HelperTestCase
+ include TimelogHelper
+ include ActionView::Helpers::TextHelper
+ include ActionView::Helpers::DateHelper
+
+ fixtures :projects, :roles, :enabled_modules, :users,
+ :repositories, :changesets,
+ :trackers, :issue_statuses, :issues, :versions, :documents,
+ :wikis, :wiki_pages, :wiki_contents,
+ :boards, :messages,
+ :attachments,
+ :enumerations
+
+ def setup
+ super
+ end
+
+ def test_activities_collection_for_select_options_should_return_array_of_activity_names_and_ids
+ activities = activity_collection_for_select_options
+ assert activities.include?(["Design", 9])
+ assert activities.include?(["Development", 10])
+ end
+
+ def test_activities_collection_for_select_options_should_not_include_inactive_activities
+ activities = activity_collection_for_select_options
+ assert !activities.include?(["Inactive Activity", 14])
+ end
+
+ def test_activities_collection_for_select_options_should_use_the_projects_override
+ project = Project.find(1)
+ override_activity = TimeEntryActivity.create!({:name => "Design override", :parent => TimeEntryActivity.find_by_name("Design"), :project => project})
+
+ activities = activity_collection_for_select_options(nil, project)
+ assert !activities.include?(["Design", 9]), "System activity found in: " + activities.inspect
+ assert activities.include?(["Design override", override_activity.id]), "Override activity not found in: " + activities.inspect
+ end
+end