@@ -173,6 +173,11 class ActiveSupport::TestCase | |||
|
173 | 173 | ActiveRecord::Base.connection.adapter_name =~ /postgresql/i |
|
174 | 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 | 181 | def assert_save(object) |
|
177 | 182 | saved = object.save |
|
178 | 183 | message = "#{object.class} could not be saved" |
@@ -453,42 +453,44 class QueryTest < ActiveSupport::TestCase | |||
|
453 | 453 | def test_operator_date_equals |
|
454 | 454 | query = IssueQuery.new(:name => '_') |
|
455 | 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 | 458 | find_issues_with_query(query) |
|
458 | 459 | end |
|
459 | 460 | |
|
460 | 461 | def test_operator_date_lesser_than |
|
461 | 462 | query = IssueQuery.new(:name => '_') |
|
462 | 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 | 465 | find_issues_with_query(query) |
|
465 | 466 | end |
|
466 | 467 | |
|
467 | 468 | def test_operator_date_lesser_than_with_timestamp |
|
468 | 469 | query = IssueQuery.new(:name => '_') |
|
469 | 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 | 472 | find_issues_with_query(query) |
|
472 | 473 | end |
|
473 | 474 | |
|
474 | 475 | def test_operator_date_greater_than |
|
475 | 476 | query = IssueQuery.new(:name => '_') |
|
476 | 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 | 479 | find_issues_with_query(query) |
|
479 | 480 | end |
|
480 | 481 | |
|
481 | 482 | def test_operator_date_greater_than_with_timestamp |
|
482 | 483 | query = IssueQuery.new(:name => '_') |
|
483 | 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 | 486 | find_issues_with_query(query) |
|
486 | 487 | end |
|
487 | 488 | |
|
488 | 489 | def test_operator_date_between |
|
489 | 490 | query = IssueQuery.new(:name => '_') |
|
490 | 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 | 494 | find_issues_with_query(query) |
|
493 | 495 | end |
|
494 | 496 | |
@@ -606,7 +608,8 class QueryTest < ActiveSupport::TestCase | |||
|
606 | 608 | |
|
607 | 609 | query = IssueQuery.new(:project => Project.find(1), :name => '_') |
|
608 | 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 | 613 | I18n.locale = :en |
|
611 | 614 | end |
|
612 | 615 | |
@@ -618,7 +621,8 class QueryTest < ActiveSupport::TestCase | |||
|
618 | 621 | |
|
619 | 622 | query = IssueQuery.new(:project => Project.find(1), :name => '_') |
|
620 | 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 | 626 | end |
|
623 | 627 | |
|
624 | 628 | def test_operator_does_not_contains |
General Comments 0
You need to be logged in to leave comments.
Login now