mirror of
https://github.com/meineerde/redmine.git
synced 2026-02-01 03:57:15 +00:00
Fix a bug the "doesn't contain" operator returns no issues if the search finds no issues (#38402).
Patch by Holger Just. git-svn-id: https://svn.redmine.org/redmine/trunk@22168 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
5e1b7b027f
commit
27b8f57fd8
@ -799,7 +799,7 @@ class IssueQuery < Query
|
||||
sw = operator == '!~' ? 'NOT' : ''
|
||||
"#{Issue.table_name}.id #{sw} IN (#{ids.join(',')})"
|
||||
else
|
||||
'1=0'
|
||||
operator == '!~' ? '1=1' : '1=0'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -844,7 +844,7 @@ class QueryTest < ActiveSupport::TestCase
|
||||
assert_equal [1, 3], find_issues_with_query(query).map(&:id).sort
|
||||
end
|
||||
|
||||
def test_fileter_any_searchable
|
||||
def test_filter_any_searchable
|
||||
User.current = User.find(1)
|
||||
query = IssueQuery.new(
|
||||
:name => '_',
|
||||
@ -859,7 +859,52 @@ class QueryTest < ActiveSupport::TestCase
|
||||
assert_equal [1, 2, 3], result.map(&:id).sort
|
||||
end
|
||||
|
||||
def test_fileter_any_searchable_should_search_searchable_custom_fields
|
||||
def test_filter_any_searchable_no_matches
|
||||
User.current = User.find(1)
|
||||
query = IssueQuery.new(
|
||||
:name => '_',
|
||||
:filters => {
|
||||
'any_searchable' => {
|
||||
:operator => '~',
|
||||
:values => ['SomethingThatDoesNotExist']
|
||||
}
|
||||
}
|
||||
)
|
||||
result = find_issues_with_query(query)
|
||||
assert_empty result.map(&:id)
|
||||
end
|
||||
|
||||
def test_filter_any_searchable_negative
|
||||
User.current = User.find(1)
|
||||
query = IssueQuery.new(
|
||||
:name => '_',
|
||||
:filters => {
|
||||
'any_searchable' => {
|
||||
:operator => '!~',
|
||||
:values => ['recipe']
|
||||
}
|
||||
}
|
||||
)
|
||||
result = find_issues_with_query(query)
|
||||
assert_not_includes [1, 2, 3], result.map(&:id)
|
||||
end
|
||||
|
||||
def test_filter_any_searchable_negative_no_matches
|
||||
User.current = User.find(1)
|
||||
query = IssueQuery.new(
|
||||
:name => '_',
|
||||
:filters => {
|
||||
'any_searchable' => {
|
||||
:operator => '!~',
|
||||
:values => ['SomethingThatDoesNotExist']
|
||||
}
|
||||
}
|
||||
)
|
||||
result = find_issues_with_query(query)
|
||||
assert_not_empty result.map(&:id)
|
||||
end
|
||||
|
||||
def test_filter_any_searchable_should_search_searchable_custom_fields
|
||||
User.current = User.find(1)
|
||||
query = IssueQuery.new(
|
||||
:name => '_',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user