X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/66da04e142bb80ff25d65900292bf99c7e4252f2..861cff5ffc2eb2739573b8991fca1cfdc388377f:/services/api/test/functional/arvados/v1/query_test.rb diff --git a/services/api/test/functional/arvados/v1/query_test.rb b/services/api/test/functional/arvados/v1/query_test.rb index 56db54c3a4..91fe077503 100644 --- a/services/api/test/functional/arvados/v1/query_test.rb +++ b/services/api/test/functional/arvados/v1/query_test.rb @@ -23,4 +23,46 @@ class Arvados::V1::QueryTest < ActionController::TestCase assert_equal('logs.event_type asc, logs.modified_at desc, logs.uuid', assigns(:objects).order_values.join(', ')) end + + test 'skip fallback orders already given by client' do + @controller = Arvados::V1::LogsController.new + authorize_with :active + get :index, { + order: ['modified_at asc'], + controller: 'logs', + } + assert_response :success + assert_equal('logs.modified_at asc, logs.uuid', + assigns(:objects).order_values.join(', ')) + end + + test 'eliminate superfluous orders' do + @controller = Arvados::V1::LogsController.new + authorize_with :active + get :index, { + order: ['logs.modified_at asc', + 'modified_at desc', + 'event_type desc', + 'logs.event_type asc'], + controller: 'logs', + } + assert_response :success + assert_equal('logs.modified_at asc, logs.event_type desc, logs.uuid', + assigns(:objects).order_values.join(', ')) + end + + test 'eliminate orders after the first unique column' do + @controller = Arvados::V1::LogsController.new + authorize_with :active + get :index, { + order: ['event_type asc', + 'id asc', + 'uuid asc', + 'modified_at desc'], + controller: 'logs', + } + assert_response :success + assert_equal('logs.event_type asc, logs.id asc', + assigns(:objects).order_values.join(', ')) + end end