summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/custom_values.yml8
-rw-r--r--test/fixtures/queries.yml22
-rw-r--r--test/unit/query_test.rb31
3 files changed, 60 insertions, 1 deletions
diff --git a/test/fixtures/custom_values.yml b/test/fixtures/custom_values.yml
index 4a65619c4..b71227971 100644
--- a/test/fixtures/custom_values.yml
+++ b/test/fixtures/custom_values.yml
@@ -34,10 +34,16 @@ custom_values_004:
custom_field_id: 2
customized_id: 1
id: 7
- value: "101"
+ value: "125"
custom_values_005:
customized_type: Issue
custom_field_id: 2
customized_id: 2
id: 8
value: ""
+custom_values_008:
+ customized_type: Issue
+ custom_field_id: 1
+ customized_id: 3
+ id: 11
+ value: "MySQL" \ No newline at end of file
diff --git a/test/fixtures/queries.yml b/test/fixtures/queries.yml
new file mode 100644
index 000000000..a4c045b15
--- /dev/null
+++ b/test/fixtures/queries.yml
@@ -0,0 +1,22 @@
+---
+queries_001:
+ name: Multiple custom fields query
+ project_id: 1
+ filters: |
+ ---
+ cf_1:
+ :values:
+ - MySQL
+ :operator: "="
+ status_id:
+ :values:
+ - "1"
+ :operator: o
+ cf_2:
+ :values:
+ - "125"
+ :operator: "="
+
+ id: 1
+ is_public: true
+ user_id: 1
diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb
new file mode 100644
index 000000000..ea004e39e
--- /dev/null
+++ b/test/unit/query_test.rb
@@ -0,0 +1,31 @@
+# redMine - project management software
+# Copyright (C) 2006-2007 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 QueryTest < Test::Unit::TestCase
+ fixtures :projects, :users, :trackers, :issue_statuses, :issue_categories, :enumerations, :issues, :custom_fields, :custom_values, :queries
+
+ def test_query_with_multiple_custom_fields
+ query = Query.find(1)
+ assert query.valid?
+ assert query.statement.include?("custom_values.value IN ('MySQL')")
+ issues = Issue.find :all,:include => [ :assigned_to, :status, :tracker, :project, :priority ], :conditions => query.statement
+ assert_equal 1, issues.length
+ assert_equal Issue.find(3), issues.first
+ end
+end