##// END OF EJS Templates
Fixed assertions for SQLServer that format dates with MM/DD/YYYY in queries....
Jean-Philippe Lang -
r13610:c3b91d6f0443
parent child
Show More
@@ -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(\.9+)?' AND issues\.due_date <= '2011-07-10 23:59:59(\.9+)?/, query.statement
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(\.9+)?/, query.statement
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(\.9+)?'/, query.statement
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(\.9+)?' AND issues\.due_date <= '2011-07-10 23:59:59(\.9+)?'/, query.statement
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 query.statement.match(/issues\.due_date > '2011-04-24 23:59:59(\.9+)?' AND issues\.due_date <= '2011-05-01 23:59:59(\.9+)?/), "range not found in #{query.statement}"
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 query.statement.match(/issues\.due_date > '2011-04-23 23:59:59(\.9+)?' AND issues\.due_date <= '2011-04-30 23:59:59(\.9+)?/), "range not found in #{query.statement}"
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