diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-07-10 08:00:25 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-07-10 08:00:25 +0000 |
commit | 932d4cdfead379e24934df6530f4d98abcfab18e (patch) | |
tree | 05e4cdb1ff572d8c35df61260f2892d0b40c94ed /test | |
parent | 4a4a71349a45bdc8a55071e535bc0a8b9c02a5ee (diff) | |
download | redmine-932d4cdfead379e24934df6530f4d98abcfab18e.tar.gz redmine-932d4cdfead379e24934df6530f4d98abcfab18e.zip |
Adds "between" operator for numeric filters (#6180).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6217 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r-- | test/test_helper.rb | 4 | ||||
-rw-r--r-- | test/unit/query_test.rb | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/test/test_helper.rb b/test/test_helper.rb index 0c082034b..3603befe7 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -127,6 +127,10 @@ class ActiveSupport::TestCase def assert_error_tag(options={}) assert_tag({:attributes => { :id => 'errorExplanation' }}.merge(options)) end + + def assert_include(expected, s) + assert s.include?(expected), "\"#{expected}\" not found in \"#{s}\"" + end # Shoulda macros def self.should_render_404 diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index 55a67f26a..633edebb1 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -130,6 +130,21 @@ class QueryTest < ActiveSupport::TestCase assert query.statement.include?("CAST(custom_values.value AS decimal(60,3)) <= 30") find_issues_with_query(query) end + + def test_operator_between + query = Query.new(:project => Project.find(1), :name => '_') + query.add_filter('done_ratio', '><', ['30', '40']) + assert_include "#{Issue.table_name}.done_ratio BETWEEN 30 AND 40", query.statement + find_issues_with_query(query) + end + + def test_operator_between_on_custom_field + f = IssueCustomField.create!(:name => 'filter', :field_format => 'int', :is_filter => true, :is_for_all => true) + query = Query.new(:project => Project.find(1), :name => '_') + query.add_filter("cf_#{f.id}", '><', ['30', '40']) + assert_include "CAST(custom_values.value AS decimal(60,3)) BETWEEN 30 AND 40", query.statement + find_issues_with_query(query) + end def test_operator_in_more_than Issue.find(7).update_attribute(:due_date, (Date.today + 15)) |