summaryrefslogtreecommitdiffstats
path: root/test/unit/query_test.rb
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2023-04-17 23:25:14 +0000
committerGo MAEDA <maeda@farend.jp>2023-04-17 23:25:14 +0000
commit0e19e183b180388118feb3605e64a74f4243ff7d (patch)
treec8c9aa4b34de72d1cecbfa42f048bf1c4a9bf0a5 /test/unit/query_test.rb
parent141f34f795815d81824263a49f5c1ad0ffd4a7cf (diff)
downloadredmine-0e19e183b180388118feb3605e64a74f4243ff7d.tar.gz
redmine-0e19e183b180388118feb3605e64a74f4243ff7d.zip
OR search with multiple terms for "starts with" and "ends with" filter operators (#38456).
Patch by Go MAEDA. git-svn-id: https://svn.redmine.org/redmine/trunk@22202 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/query_test.rb')
-rw-r--r--test/unit/query_test.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb
index 164a7d304..638ab5b17 100644
--- a/test/unit/query_test.rb
+++ b/test/unit/query_test.rb
@@ -3086,6 +3086,34 @@ class QueryTest < ActiveSupport::TestCase
assert_equal 1, query.issue_count
end
+ def test_sql_contains_should_tokenize_for_starts_with
+ query = IssueQuery.new(
+ :project => nil, :name => '_',
+ :filters => {
+ 'subject' => {:operator => '^', :values => ['issue closed']}
+ }
+ )
+
+ assert_equal 4, query.issue_count
+ query.issues.each do |issue|
+ assert_match /^(issue|closed)/i, issue.subject
+ end
+ end
+
+ def test_sql_contains_should_tokenize_for_ends_with
+ query = IssueQuery.new(
+ :project => nil, :name => '_',
+ :filters => {
+ 'subject' => {:operator => '$', :values => ['version issue']}
+ }
+ )
+
+ assert_equal 4, query.issue_count
+ query.issues.each do |issue|
+ assert_match /(version|issue)$/i, issue.subject
+ end
+ end
+
def test_display_type_should_accept_known_types
query = ProjectQuery.new(:name => '_')
query.display_type = 'list'