end
end
+ def sql_for_updated_on_field(field, operator, value)
+ case operator
+ when "!*"
+ "#{Issue.table_name}.updated_on = #{Issue.table_name}.created_on"
+ when "*"
+ "#{Issue.table_name}.updated_on > #{Issue.table_name}.created_on"
+ else
+ sql_for_field("updated_on", operator, value, Issue.table_name, "updated_on")
+ end
+ end
+
def sql_for_issue_id_field(field, operator, value)
if operator == "="
# accepts a comma separated list of ids
assert_equal [1, 2, 3, 6, 7, 8, 9, 10, 11, 12], issues.map(&:id).sort
end
+ def test_filter_updated_on_none_should_return_issues_with_updated_on_equal_with_created_on
+ query = IssueQuery.new(:name => '_', :project => Project.find(1))
+
+ query.filters = {'updated_on' => {:operator => '!*', :values => ['']}}
+ issues = find_issues_with_query(query)
+ assert_equal [3, 6, 7, 8, 9, 10, 14], issues.map(&:id).sort
+ end
+
+ def test_filter_updated_on_any_should_return_issues_with_updated_on_greater_than_created_on
+ query = IssueQuery.new(:name => '_', :project => Project.find(1))
+
+ query.filters = {'updated_on' => {:operator => '*', :values => ['']}}
+ issues = find_issues_with_query(query)
+ assert_equal [1, 2, 5, 11, 12, 13], issues.map(&:id).sort
+ end
end