summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2009-11-16 18:07:30 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2009-11-16 18:07:30 +0000
commit71bc44a89dceb4b6caacb4982849a2b65f02edf8 (patch)
tree3b3014564043b8de562a52d83efdda86d8c79372 /test
parent2a3a6da45a47684f5918032d499ff4a2f10b17f4 (diff)
downloadredmine-71bc44a89dceb4b6caacb4982849a2b65f02edf8.tar.gz
redmine-71bc44a89dceb4b6caacb4982849a2b65f02edf8.zip
Allow issue grouping by custom field (#2679).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3071 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/queries.yml19
-rw-r--r--test/functional/issues_controller_test.rb18
-rw-r--r--test/unit/query_test.rb5
3 files changed, 40 insertions, 2 deletions
diff --git a/test/fixtures/queries.yml b/test/fixtures/queries.yml
index 3299f96f7..a49f82fbb 100644
--- a/test/fixtures/queries.yml
+++ b/test/fixtures/queries.yml
@@ -134,4 +134,23 @@ queries_008:
user_id: 2
column_names:
+queries_009:
+ id: 9
+ project_id:
+ is_public: true
+ name: Open issues grouped by list custom field
+ filters: |
+ ---
+ status_id:
+ :values:
+ - "1"
+ :operator: o
+
+ user_id: 1
+ column_names:
+ group_by: cf_1
+ sort_criteria: |
+ ---
+ - - priority
+ - desc
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index 75da3c0c3..7356b130b 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -171,12 +171,26 @@ class IssuesControllerTest < ActionController::TestCase
assert_nil assigns(:issue_count_by_group)
end
- def test_index_with_grouped_query
+ def test_index_with_query_grouped_by_tracker
get :index, :project_id => 1, :query_id => 6
assert_response :success
assert_template 'index.rhtml'
assert_not_nil assigns(:issues)
- assert_not_nil assigns(:issue_count_by_group)
+ count_by_group = assigns(:issue_count_by_group)
+ assert_kind_of Hash, count_by_group
+ assert_kind_of Tracker, count_by_group.keys.first
+ assert_not_nil count_by_group[Tracker.find(1)]
+ end
+
+ def test_index_with_query_grouped_by_list_custom_field
+ get :index, :project_id => 1, :query_id => 9
+ assert_response :success
+ assert_template 'index.rhtml'
+ assert_not_nil assigns(:issues)
+ count_by_group = assigns(:issue_count_by_group)
+ assert_kind_of Hash, count_by_group
+ assert_kind_of String, count_by_group.keys.first
+ assert_not_nil count_by_group['MySQL']
end
def test_index_csv_with_project
diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb
index f1f9397c6..27aed0ce8 100644
--- a/test/unit/query_test.rb
+++ b/test/unit/query_test.rb
@@ -197,6 +197,11 @@ class QueryTest < ActiveSupport::TestCase
assert q.has_column?(c)
end
+ def test_groupable_columns_should_include_custom_fields
+ q = Query.new
+ assert q.groupable_columns.detect {|c| c.is_a? QueryCustomFieldColumn}
+ end
+
def test_default_sort
q = Query.new
assert_equal [], q.sort_criteria