diff options
Diffstat (limited to 'test/unit/query_test.rb')
-rw-r--r-- | test/unit/query_test.rb | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index e868ef456..4950d9b1c 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -638,8 +638,16 @@ class QueryTest < ActiveSupport::TestCase issues.each {|issue| assert_equal Date.today, issue.due_date} end + def test_operator_tomorrow + query = IssueQuery.new(:project => Project.find(1), :name => '_') + query.add_filter('due_date', 'nd', ['']) + issues = find_issues_with_query(query) + assert !issues.empty? + issues.each {|issue| assert_equal Date.today.tomorrow, issue.due_date} + end + def test_operator_date_periods - %w(t ld w lw l2w m lm y).each do |operator| + %w(t ld w lw l2w m lm y nd nw nm).each do |operator| query = IssueQuery.new(:name => '_') query.add_filter('due_date', operator, ['']) assert query.valid? @@ -710,6 +718,40 @@ class QueryTest < ActiveSupport::TestCase query.statement end + def test_range_for_next_week_with_week_starting_on_monday + I18n.locale = :fr + assert_equal '1', I18n.t(:general_first_day_of_week) + + Date.stubs(:today).returns(Date.parse('2011-04-29')) # Friday + + query = IssueQuery.new(:project => Project.find(1), :name => '_') + query.add_filter('due_date', 'nw', ['']) + assert_match /issues\.due_date > '#{quoted_date "2011-05-01"} 23:59:59(\.\d+)?' AND issues\.due_date <= '#{quoted_date "2011-05-08"} 23:59:59(\.\d+)?/, + query.statement + I18n.locale = :en + end + + def test_range_for_next_week_with_week_starting_on_sunday + I18n.locale = :en + assert_equal '7', I18n.t(:general_first_day_of_week) + + Date.stubs(:today).returns(Date.parse('2011-04-29')) # Friday + + query = IssueQuery.new(:project => Project.find(1), :name => '_') + query.add_filter('due_date', 'nw', ['']) + assert_match /issues\.due_date > '#{quoted_date "2011-04-30"} 23:59:59(\.\d+)?' AND issues\.due_date <= '#{quoted_date "2011-05-07"} 23:59:59(\.\d+)?/, + query.statement + end + + def test_range_for_next_month + Date.stubs(:today).returns(Date.parse('2011-04-29')) # Friday + + query = IssueQuery.new(:project => Project.find(1), :name => '_') + query.add_filter('due_date', 'nm', ['']) + assert_match /issues\.due_date > '#{quoted_date "2011-04-30"} 23:59:59(\.\d+)?' AND issues\.due_date <= '#{quoted_date "2011-05-31"} 23:59:59(\.\d+)?/, + query.statement + end + def test_filter_assigned_to_me user = User.find(2) group = Group.find(10) |