diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/fixtures/custom_values.yml | 8 | ||||
-rw-r--r-- | test/fixtures/queries.yml | 22 | ||||
-rw-r--r-- | test/unit/query_test.rb | 31 |
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 |