Merge branch '8784-dir-listings'
[arvados.git] / services / api / test / functional / arvados / v1 / query_test.rb
index 91fe07750312f49c1657000c56ffe0d5de91c14c..2931a380927a22da94a8a01da30f7a36bf57e392 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 require 'test_helper'
 
 class Arvados::V1::QueryTest < ActionController::TestCase
@@ -65,4 +69,33 @@ class Arvados::V1::QueryTest < ActionController::TestCase
     assert_equal('logs.event_type asc, logs.id asc',
                  assigns(:objects).order_values.join(', '))
   end
+
+  test 'do not count items_available if count=none' do
+    @controller = Arvados::V1::LinksController.new
+    authorize_with :active
+    get :index, {
+      count: 'none',
+    }
+    assert_response(:success)
+    refute(json_response.has_key?('items_available'))
+  end
+
+  [{}, {count: nil}, {count: ''}, {count: 'exact'}].each do |params|
+    test "count items_available if params=#{params.inspect}" do
+      @controller = Arvados::V1::LinksController.new
+      authorize_with :active
+      get :index, params
+      assert_response(:success)
+      assert_operator(json_response['items_available'], :>, 0)
+    end
+  end
+
+  test 'error if count=bogus' do
+    @controller = Arvados::V1::LinksController.new
+    authorize_with :active
+    get :index, {
+      count: 'bogus',
+    }
+    assert_response(422)
+  end
 end