@@ -101,6 +101,17 class QueryTest < ActiveSupport::TestCase | |||||
101 | assert !project_ids.include?("2") #private project user cannot see |
|
101 | assert !project_ids.include?("2") #private project user cannot see | |
102 | end |
|
102 | end | |
103 |
|
103 | |||
|
104 | def test_available_filters_should_not_include_fields_disabled_on_all_trackers | |||
|
105 | Tracker.all.each do |tracker| | |||
|
106 | tracker.core_fields = Tracker::CORE_FIELDS - ['start_date'] | |||
|
107 | tracker.save! | |||
|
108 | end | |||
|
109 | ||||
|
110 | query = IssueQuery.new(:name => '_') | |||
|
111 | assert_include 'due_date', query.available_filters | |||
|
112 | assert_not_include 'start_date', query.available_filters | |||
|
113 | end | |||
|
114 | ||||
104 | def find_issues_with_query(query) |
|
115 | def find_issues_with_query(query) | |
105 | Issue.joins(:status, :tracker, :project, :priority).where( |
|
116 | Issue.joins(:status, :tracker, :project, :priority).where( | |
106 | query.statement |
|
117 | query.statement | |
@@ -556,16 +567,22 class QueryTest < ActiveSupport::TestCase | |||||
556 | issues.each {|issue| assert_equal Date.today, issue.due_date} |
|
567 | issues.each {|issue| assert_equal Date.today, issue.due_date} | |
557 | end |
|
568 | end | |
558 |
|
569 | |||
559 |
def test_operator_ |
|
570 | def test_operator_date_periods | |
560 | query = IssueQuery.new(:project => Project.find(1), :name => '_') |
|
571 | %w(t ld w lw l2w m lm y).each do |operator| | |
561 | query.add_filter('due_date', 'w', ['']) |
|
572 | query = IssueQuery.new(:name => '_') | |
562 | find_issues_with_query(query) |
|
573 | query.add_filter('due_date', operator, ['']) | |
|
574 | assert query.valid? | |||
|
575 | assert query.issues | |||
|
576 | end | |||
563 | end |
|
577 | end | |
564 |
|
578 | |||
565 |
def test_operator_ |
|
579 | def test_operator_datetime_periods | |
566 | query = IssueQuery.new(:project => Project.find(1), :name => '_') |
|
580 | %w(t ld w lw l2w m lm y).each do |operator| | |
567 | query.add_filter('created_on', 'w', ['']) |
|
581 | query = IssueQuery.new(:name => '_') | |
568 | find_issues_with_query(query) |
|
582 | query.add_filter('created_on', operator, ['']) | |
|
583 | assert query.valid? | |||
|
584 | assert query.issues | |||
|
585 | end | |||
569 | end |
|
586 | end | |
570 |
|
587 | |||
571 | def test_operator_contains |
|
588 | def test_operator_contains | |
@@ -642,6 +659,12 class QueryTest < ActiveSupport::TestCase | |||||
642 | assert_equal issue1, result.first |
|
659 | assert_equal issue1, result.first | |
643 | end |
|
660 | end | |
644 |
|
661 | |||
|
662 | def test_filter_on_me_by_anonymous_user | |||
|
663 | User.current = nil | |||
|
664 | query = IssueQuery.new(:name => '_', :filters => { 'assigned_to_id' => {:operator => '=', :values => ['me']}}) | |||
|
665 | assert_equal [], query.issues | |||
|
666 | end | |||
|
667 | ||||
645 | def test_filter_my_projects |
|
668 | def test_filter_my_projects | |
646 | User.current = User.find(2) |
|
669 | User.current = User.find(2) | |
647 | query = IssueQuery.new(:name => '_') |
|
670 | query = IssueQuery.new(:name => '_') |
@@ -459,4 +459,10 class RepositoryTest < ActiveSupport::TestCase | |||||
459 | expected = {"Dave Lopper"=>{:commits_count=>11, :changes_count=>3}} |
|
459 | expected = {"Dave Lopper"=>{:commits_count=>11, :changes_count=>3}} | |
460 | assert_equal expected, repository.stats_by_author |
|
460 | assert_equal expected, repository.stats_by_author | |
461 | end |
|
461 | end | |
|
462 | ||||
|
463 | def test_fetch_changesets | |||
|
464 | # 2 repositories in fixtures | |||
|
465 | Repository::Subversion.any_instance.expects(:fetch_changesets).twice.returns(true) | |||
|
466 | Repository.fetch_changesets | |||
|
467 | end | |||
462 | end |
|
468 | end |
General Comments 0
You need to be logged in to leave comments.
Login now