summaryrefslogtreecommitdiffstats
path: root/test/functional/timelog_controller_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/timelog_controller_test.rb')
-rw-r--r--test/functional/timelog_controller_test.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/functional/timelog_controller_test.rb b/test/functional/timelog_controller_test.rb
index 5735260ca..9d07d3e21 100644
--- a/test/functional/timelog_controller_test.rb
+++ b/test/functional/timelog_controller_test.rb
@@ -559,6 +559,24 @@ class TimelogControllerTest < ActionController::TestCase
assert_select "td.#{field_name}", :text => 'CF Value'
end
+ def test_index_with_time_entry_custom_field_sorting
+ field = TimeEntryCustomField.generate!(:field_format => 'string', :name => 'String Field')
+ TimeEntry.generate!(:hours => 2.5, :custom_field_values => {field.id => 'CF Value 1'})
+ TimeEntry.generate!(:hours => 2.5, :custom_field_values => {field.id => 'CF Value 3'})
+ TimeEntry.generate!(:hours => 2.5, :custom_field_values => {field.id => 'CF Value 2'})
+ field_name = "cf_#{field.id}"
+
+ get :index, :c => ["hours", field_name], :sort => field_name
+ assert_response :success
+ assert_include field_name.to_sym, assigns(:query).column_names
+ assert_select "th a.sort", :text => 'String Field'
+
+ # Make sure that values are properly sorted
+ values = assigns(:entries).map {|e| e.custom_field_value(field)}.compact
+ assert_equal 3, values.size
+ assert_equal values.sort, values
+ end
+
def test_index_atom_feed
get :index, :project_id => 1, :format => 'atom'
assert_response :success