comparison test/unit/helpers/queries_helper_test.rb @ 1298:4f746d8966dd redmine_2.3_integration

Merge from redmine-2.3 branch to create new branch redmine-2.3-integration
author Chris Cannam
date Fri, 14 Jun 2013 09:28:30 +0100
parents 622f24f53b42
children
comparison
equal deleted inserted replaced
1297:0a574315af3e 1298:4f746d8966dd
1 # Redmine - project management software 1 # Redmine - project management software
2 # Copyright (C) 2006-2012 Jean-Philippe Lang 2 # Copyright (C) 2006-2013 Jean-Philippe Lang
3 # 3 #
4 # This program is free software; you can redistribute it and/or 4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License 5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2 6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version. 7 # of the License, or (at your option) any later version.
27 :watchers, :custom_fields, :custom_values, :versions, 27 :watchers, :custom_fields, :custom_values, :versions,
28 :queries, 28 :queries,
29 :projects_trackers, 29 :projects_trackers,
30 :custom_fields_trackers 30 :custom_fields_trackers
31 31
32 def test_order 32 def test_filters_options_should_be_ordered
33 User.current = User.find_by_login('admin') 33 set_language_if_valid 'en'
34 query = Query.new(:project => nil, :name => '_') 34 query = IssueQuery.new
35 assert_equal 30, query.available_filters.size 35 filter_count = query.available_filters.size
36 fo = filters_options(query) 36 fo = filters_options(query)
37 assert_equal 31, fo.size 37 assert_equal filter_count + 1, fo.size
38 assert_equal [], fo[0] 38 assert_equal [], fo[0]
39 assert_equal "status_id", fo[1][1] 39
40 assert_equal "project_id", fo[2][1] 40 expected_order = [
41 assert_equal "tracker_id", fo[3][1] 41 "Status",
42 assert_equal "priority_id", fo[4][1] 42 "Project",
43 assert_equal "watcher_id", fo[17][1] 43 "Tracker",
44 assert_equal "is_private", fo[18][1] 44 "Priority"
45 ]
46 assert_equal expected_order, (fo.map(&:first) & expected_order)
45 end 47 end
46 48
47 def test_order_custom_fields 49 def test_filters_options_should_be_ordered_with_custom_fields
48 set_language_if_valid 'en' 50 set_language_if_valid 'en'
49 field = UserCustomField.new( 51 field = UserCustomField.create!(
50 :name => 'order test', :field_format => 'string', 52 :name => 'order test', :field_format => 'string',
51 :is_for_all => true, :is_filter => true 53 :is_for_all => true, :is_filter => true
52 ) 54 )
53 assert field.save 55 query = IssueQuery.new
54 User.current = User.find_by_login('admin') 56 filter_count = query.available_filters.size
55 query = Query.new(:project => nil, :name => '_')
56 assert_equal 32, query.available_filters.size
57 fo = filters_options(query) 57 fo = filters_options(query)
58 assert_equal 33, fo.size 58 assert_equal filter_count + 1, fo.size
59 assert_equal "Searchable field", fo[19][0] 59
60 assert_equal "Database", fo[20][0] 60 expected_order = [
61 assert_equal "Project's Development status", fo[21][0] 61 "Searchable field",
62 assert_equal "Assignee's order test", fo[22][0] 62 "Database",
63 assert_equal "Author's order test", fo[23][0] 63 "Project's Development status",
64 "Author's order test",
65 "Assignee's order test"
66 ]
67 assert_equal expected_order, (fo.map(&:first) & expected_order)
64 end 68 end
65 end 69 end