@@ -19,7 +19,6 require File.expand_path('../../../test_helper', __FILE__) | |||||
19 |
|
19 | |||
20 | class QueriesHelperTest < ActionView::TestCase |
|
20 | class QueriesHelperTest < ActionView::TestCase | |
21 | include QueriesHelper |
|
21 | include QueriesHelper | |
22 | include Redmine::I18n |
|
|||
23 |
|
22 | |||
24 | fixtures :projects, :enabled_modules, :users, :members, |
|
23 | fixtures :projects, :enabled_modules, :users, :members, | |
25 | :member_roles, :roles, :trackers, :issue_statuses, |
|
24 | :member_roles, :roles, :trackers, :issue_statuses, | |
@@ -29,41 +28,11 class QueriesHelperTest < ActionView::TestCase | |||||
29 | :projects_trackers, |
|
28 | :projects_trackers, | |
30 | :custom_fields_trackers |
|
29 | :custom_fields_trackers | |
31 |
|
30 | |||
32 |
def test_filters_options_ |
|
31 | def test_filters_options_has_empty_item | |
33 | set_language_if_valid 'en' |
|
|||
34 | query = IssueQuery.new |
|
32 | query = IssueQuery.new | |
35 | filter_count = query.available_filters.size |
|
33 | filter_count = query.available_filters.size | |
36 | fo = filters_options(query) |
|
34 | fo = filters_options(query) | |
37 | assert_equal filter_count + 1, fo.size |
|
35 | assert_equal filter_count + 1, fo.size | |
38 | assert_equal [], fo[0] |
|
36 | assert_equal [], fo[0] | |
39 |
|
||||
40 | expected_order = [ |
|
|||
41 | "Status", |
|
|||
42 | "Project", |
|
|||
43 | "Tracker", |
|
|||
44 | "Priority" |
|
|||
45 | ] |
|
|||
46 | assert_equal expected_order, (fo.map(&:first) & expected_order) |
|
|||
47 | end |
|
|||
48 |
|
||||
49 | def test_filters_options_should_be_ordered_with_custom_fields |
|
|||
50 | set_language_if_valid 'en' |
|
|||
51 | UserCustomField.create!( |
|
|||
52 | :name => 'order test', :field_format => 'string', |
|
|||
53 | :is_for_all => true, :is_filter => true |
|
|||
54 | ) |
|
|||
55 | query = IssueQuery.new |
|
|||
56 | filter_count = query.available_filters.size |
|
|||
57 | fo = filters_options(query) |
|
|||
58 | assert_equal filter_count + 1, fo.size |
|
|||
59 |
|
||||
60 | expected_order = [ |
|
|||
61 | "Searchable field", |
|
|||
62 | "Database", |
|
|||
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) |
|
|||
68 | end |
|
37 | end | |
69 | end |
|
38 | end |
@@ -29,8 +29,35 class QueryTest < ActiveSupport::TestCase | |||||
29 | :custom_fields_trackers |
|
29 | :custom_fields_trackers | |
30 |
|
30 | |||
31 | def test_available_filters_should_be_ordered |
|
31 | def test_available_filters_should_be_ordered | |
|
32 | set_language_if_valid 'en' | |||
32 | query = IssueQuery.new |
|
33 | query = IssueQuery.new | |
33 | assert_equal 0, query.available_filters.keys.index('status_id') |
|
34 | assert_equal 0, query.available_filters.keys.index('status_id') | |
|
35 | expected_order = [ | |||
|
36 | "Status", | |||
|
37 | "Project", | |||
|
38 | "Tracker", | |||
|
39 | "Priority" | |||
|
40 | ] | |||
|
41 | assert_equal expected_order, | |||
|
42 | (query.available_filters.values.map{|v| v[:name]} & expected_order) | |||
|
43 | end | |||
|
44 | ||||
|
45 | def test_available_filters_with_custom_fields_should_be_ordered | |||
|
46 | set_language_if_valid 'en' | |||
|
47 | UserCustomField.create!( | |||
|
48 | :name => 'order test', :field_format => 'string', | |||
|
49 | :is_for_all => true, :is_filter => true | |||
|
50 | ) | |||
|
51 | query = IssueQuery.new | |||
|
52 | expected_order = [ | |||
|
53 | "Searchable field", | |||
|
54 | "Database", | |||
|
55 | "Project's Development status", | |||
|
56 | "Author's order test", | |||
|
57 | "Assignee's order test" | |||
|
58 | ] | |||
|
59 | assert_equal expected_order, | |||
|
60 | (query.available_filters.values.map{|v| v[:name]} & expected_order) | |||
34 | end |
|
61 | end | |
35 |
|
62 | |||
36 | def test_custom_fields_for_all_projects_should_be_available_in_global_queries |
|
63 | def test_custom_fields_for_all_projects_should_be_available_in_global_queries |
General Comments 0
You need to be logged in to leave comments.
Login now