##// END OF EJS Templates
Speeds up rendering of the project list for users who belong to hundreds of projects....
Speeds up rendering of the project list for users who belong to hundreds of projects. git-svn-id: http://svn.redmine.org/redmine/trunk@16123 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r15301:c4b4b8a71e21
r15741:f8df935dcada
Show More
queries_helper_test.rb
97 lines | 4.0 KiB | text/x-ruby | RubyLexer
/ test / unit / helpers / queries_helper_test.rb
Toshi MARUYAMA
split QueriesHelper filters_options_for_select method and add new unit test (#12018)...
r10339 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Toshi MARUYAMA
split QueriesHelper filters_options_for_select method and add new unit test (#12018)...
r10339 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require File.expand_path('../../../test_helper', __FILE__)
Jean-Philippe Lang
Adds a class for testing helpers....
r15301 class QueriesHelperTest < Redmine::HelperTest
Toshi MARUYAMA
split QueriesHelper filters_options_for_select method and add new unit test (#12018)...
r10339 include QueriesHelper
Jean-Philippe Lang
Include Redmine::I18n in helpers tests....
r11645 include Redmine::I18n
Toshi MARUYAMA
split QueriesHelper filters_options_for_select method and add new unit test (#12018)...
r10339
fixtures :projects, :enabled_modules, :users, :members,
:member_roles, :roles, :trackers, :issue_statuses,
:issue_categories, :enumerations, :issues,
:watchers, :custom_fields, :custom_values, :versions,
:queries,
:projects_trackers,
:custom_fields_trackers
Jean-Philippe Lang
Group filters in the filter select list (#13849)....
r13280 def test_filters_options_for_select_should_have_a_blank_option
options = filters_options_for_select(IssueQuery.new)
assert_select_in options, 'option[value=""]'
end
def test_filters_options_for_select_should_not_group_regular_filters
with_locale 'en' do
options = filters_options_for_select(IssueQuery.new)
Jean-Philippe Lang
Rewrites assertions....
r13394 assert_select_in options, 'optgroup option[value=status_id]', 0
Jean-Philippe Lang
Group filters in the filter select list (#13849)....
r13280 assert_select_in options, 'option[value=status_id]', :text => 'Status'
end
end
def test_filters_options_for_select_should_group_date_filters
with_locale 'en' do
options = filters_options_for_select(IssueQuery.new)
assert_select_in options, 'optgroup[label=?]', 'Date', 1
assert_select_in options, 'optgroup > option[value=due_date]', :text => 'Due date'
end
end
def test_filters_options_for_select_should_not_group_only_one_date_filter
with_locale 'en' do
options = filters_options_for_select(TimeEntryQuery.new)
Jean-Philippe Lang
Rewrites assertions....
r13394 assert_select_in options, 'option[value=spent_on]'
Jean-Philippe Lang
Group filters in the filter select list (#13849)....
r13280 assert_select_in options, 'optgroup[label=?]', 'Date', 0
Jean-Philippe Lang
Rewrites assertions....
r13394 assert_select_in options, 'optgroup option[value=spent_on]', 0
Jean-Philippe Lang
Group filters in the filter select list (#13849)....
r13280 end
end
def test_filters_options_for_select_should_group_relations_filters
with_locale 'en' do
options = filters_options_for_select(IssueQuery.new)
Jean-Philippe Lang
Test failure (#22147)....
r14979 assert_select_in options, 'optgroup[label=?]', 'Relations', 1
assert_select_in options, 'optgroup[label=?] > option', 'Relations', 11
Jean-Philippe Lang
Group filters in the filter select list (#13849)....
r13280 assert_select_in options, 'optgroup > option[value=relates]', :text => 'Related to'
end
end
def test_filters_options_for_select_should_group_associations_filters
CustomField.delete_all
cf1 = ProjectCustomField.create!(:name => 'Foo', :field_format => 'string', :is_filter => true)
cf2 = ProjectCustomField.create!(:name => 'Bar', :field_format => 'string', :is_filter => true)
with_locale 'en' do
options = filters_options_for_select(IssueQuery.new)
assert_select_in options, 'optgroup[label=?]', 'Project', 1
assert_select_in options, 'optgroup[label=?] > option', 'Project', 2
assert_select_in options, 'optgroup > option[value=?]', "project.cf_#{cf1.id}", :text => "Project's Foo"
end
Toshi MARUYAMA
sort custom field issue filter by type and position (#12018)...
r10344 end
Jean-Philippe Lang
Fixed: Export CSV - Custom field true/false not using translation (#16081)....
r12621
def test_query_to_csv_should_translate_boolean_custom_field_values
f = IssueCustomField.generate!(:field_format => 'bool', :name => 'Boolean', :is_for_all => true, :trackers => Tracker.all)
issues = [
Issue.generate!(:project_id => 1, :tracker_id => 1, :custom_field_values => {f.id.to_s => '0'}),
Issue.generate!(:project_id => 1, :tracker_id => 1, :custom_field_values => {f.id.to_s => '1'})
]
with_locale 'fr' do
csv = query_to_csv(issues, IssueQuery.new, :columns => 'all')
assert_include "Oui", csv
assert_include "Non", csv
end
end
Toshi MARUYAMA
split QueriesHelper filters_options_for_select method and add new unit test (#12018)...
r10339 end