@@ -173,6 +173,11 class ActiveSupport::TestCase | |||||
173 | ActiveRecord::Base.connection.adapter_name =~ /postgresql/i |
|
173 | ActiveRecord::Base.connection.adapter_name =~ /postgresql/i | |
174 | end |
|
174 | end | |
175 |
|
175 | |||
|
176 | def quoted_date(date) | |||
|
177 | date = Date.parse(date) if date.is_a?(String) | |||
|
178 | ActiveRecord::Base.connection.quoted_date(date) | |||
|
179 | end | |||
|
180 | ||||
176 | def assert_save(object) |
|
181 | def assert_save(object) | |
177 | saved = object.save |
|
182 | saved = object.save | |
178 | message = "#{object.class} could not be saved" |
|
183 | message = "#{object.class} could not be saved" |
@@ -453,42 +453,44 class QueryTest < ActiveSupport::TestCase | |||||
453 | def test_operator_date_equals |
|
453 | def test_operator_date_equals | |
454 | query = IssueQuery.new(:name => '_') |
|
454 | query = IssueQuery.new(:name => '_') | |
455 | query.add_filter('due_date', '=', ['2011-07-10']) |
|
455 | query.add_filter('due_date', '=', ['2011-07-10']) | |
456 |
assert_match /issues\.due_date > '2011-07-09 23:59:59(\. |
|
456 | assert_match /issues\.due_date > '#{quoted_date "2011-07-09"} 23:59:59(\.\d+)?' AND issues\.due_date <= '#{quoted_date "2011-07-10"} 23:59:59(\.\d+)?/, | |
|
457 | query.statement | |||
457 | find_issues_with_query(query) |
|
458 | find_issues_with_query(query) | |
458 | end |
|
459 | end | |
459 |
|
460 | |||
460 | def test_operator_date_lesser_than |
|
461 | def test_operator_date_lesser_than | |
461 | query = IssueQuery.new(:name => '_') |
|
462 | query = IssueQuery.new(:name => '_') | |
462 | query.add_filter('due_date', '<=', ['2011-07-10']) |
|
463 | query.add_filter('due_date', '<=', ['2011-07-10']) | |
463 |
assert_match /issues\.due_date <= '2011-07-10 23:59:59(\. |
|
464 | assert_match /issues\.due_date <= '#{quoted_date "2011-07-10"} 23:59:59(\.\d+)?/, query.statement | |
464 | find_issues_with_query(query) |
|
465 | find_issues_with_query(query) | |
465 | end |
|
466 | end | |
466 |
|
467 | |||
467 | def test_operator_date_lesser_than_with_timestamp |
|
468 | def test_operator_date_lesser_than_with_timestamp | |
468 | query = IssueQuery.new(:name => '_') |
|
469 | query = IssueQuery.new(:name => '_') | |
469 | query.add_filter('updated_on', '<=', ['2011-07-10T19:13:52']) |
|
470 | query.add_filter('updated_on', '<=', ['2011-07-10T19:13:52']) | |
470 | assert_match /issues\.updated_on <= '2011-07-10 19:13:52/, query.statement |
|
471 | assert_match /issues\.updated_on <= '#{quoted_date "2011-07-10"} 19:13:52/, query.statement | |
471 | find_issues_with_query(query) |
|
472 | find_issues_with_query(query) | |
472 | end |
|
473 | end | |
473 |
|
474 | |||
474 | def test_operator_date_greater_than |
|
475 | def test_operator_date_greater_than | |
475 | query = IssueQuery.new(:name => '_') |
|
476 | query = IssueQuery.new(:name => '_') | |
476 | query.add_filter('due_date', '>=', ['2011-07-10']) |
|
477 | query.add_filter('due_date', '>=', ['2011-07-10']) | |
477 |
assert_match /issues\.due_date > '2011-07-09 23:59:59(\. |
|
478 | assert_match /issues\.due_date > '#{quoted_date "2011-07-09"} 23:59:59(\.\d+)?'/, query.statement | |
478 | find_issues_with_query(query) |
|
479 | find_issues_with_query(query) | |
479 | end |
|
480 | end | |
480 |
|
481 | |||
481 | def test_operator_date_greater_than_with_timestamp |
|
482 | def test_operator_date_greater_than_with_timestamp | |
482 | query = IssueQuery.new(:name => '_') |
|
483 | query = IssueQuery.new(:name => '_') | |
483 | query.add_filter('updated_on', '>=', ['2011-07-10T19:13:52']) |
|
484 | query.add_filter('updated_on', '>=', ['2011-07-10T19:13:52']) | |
484 | assert_match /issues\.updated_on > '2011-07-10 19:13:51(\.0+)?'/, query.statement |
|
485 | assert_match /issues\.updated_on > '#{quoted_date "2011-07-10"} 19:13:51(\.0+)?'/, query.statement | |
485 | find_issues_with_query(query) |
|
486 | find_issues_with_query(query) | |
486 | end |
|
487 | end | |
487 |
|
488 | |||
488 | def test_operator_date_between |
|
489 | def test_operator_date_between | |
489 | query = IssueQuery.new(:name => '_') |
|
490 | query = IssueQuery.new(:name => '_') | |
490 | query.add_filter('due_date', '><', ['2011-06-23', '2011-07-10']) |
|
491 | query.add_filter('due_date', '><', ['2011-06-23', '2011-07-10']) | |
491 |
assert_match /issues\.due_date > '2011-06-22 23:59:59(\. |
|
492 | assert_match /issues\.due_date > '#{quoted_date "2011-06-22"} 23:59:59(\.\d+)?' AND issues\.due_date <= '#{quoted_date "2011-07-10"} 23:59:59(\.\d+)?'/, | |
|
493 | query.statement | |||
492 | find_issues_with_query(query) |
|
494 | find_issues_with_query(query) | |
493 | end |
|
495 | end | |
494 |
|
496 | |||
@@ -606,7 +608,8 class QueryTest < ActiveSupport::TestCase | |||||
606 |
|
608 | |||
607 | query = IssueQuery.new(:project => Project.find(1), :name => '_') |
|
609 | query = IssueQuery.new(:project => Project.find(1), :name => '_') | |
608 | query.add_filter('due_date', 'w', ['']) |
|
610 | query.add_filter('due_date', 'w', ['']) | |
609 |
assert |
|
611 | assert_match /issues\.due_date > '#{quoted_date "2011-04-24"} 23:59:59(\.\d+)?' AND issues\.due_date <= '#{quoted_date "2011-05-01"} 23:59:59(\.\d+)?/, | |
|
612 | query.statement | |||
610 | I18n.locale = :en |
|
613 | I18n.locale = :en | |
611 | end |
|
614 | end | |
612 |
|
615 | |||
@@ -618,7 +621,8 class QueryTest < ActiveSupport::TestCase | |||||
618 |
|
621 | |||
619 | query = IssueQuery.new(:project => Project.find(1), :name => '_') |
|
622 | query = IssueQuery.new(:project => Project.find(1), :name => '_') | |
620 | query.add_filter('due_date', 'w', ['']) |
|
623 | query.add_filter('due_date', 'w', ['']) | |
621 |
assert |
|
624 | assert_match /issues\.due_date > '#{quoted_date "2011-04-23"} 23:59:59(\.\d+)?' AND issues\.due_date <= '#{quoted_date "2011-04-30"} 23:59:59(\.\d+)?/, | |
|
625 | query.statement | |||
622 | end |
|
626 | end | |
623 |
|
627 | |||
624 | def test_operator_does_not_contains |
|
628 | def test_operator_does_not_contains |
General Comments 0
You need to be logged in to leave comments.
Login now