Merge branch '8784-dir-listings'
[arvados.git] / apps / workbench / test / controllers / search_controller_test.rb
index a09d966a184c219cd5fad8a5dc69abea06d1a86c..c57d70533efa23e90a07dd64982c4c1cbcd2f655 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 require 'test_helper'
 
 class SearchControllerTest < ActionController::TestCase
@@ -39,4 +43,27 @@ class SearchControllerTest < ActionController::TestCase
     assert_empty(json_response['content'],
                  'search results for empty project should be empty')
   end
+
+  test 'search results for aproject and verify recursive contents' do
+    xhr :get, :choose, {
+      format: :json,
+      partial: true,
+      project_uuid: api_fixture('groups')['aproject']['uuid'],
+    }, session_for(:active)
+    assert_response :success
+    assert_not_empty(json_response['content'],
+                 'search results for aproject should not be empty')
+    items = []
+    json_response['content'].scan /<div[^>]+>/ do |div_tag|
+      div_tag.scan(/\ data-object-uuid=\"(.*?)\"/).each do |uuid,|
+        items << uuid
+      end
+    end
+
+    assert_includes(items, api_fixture('collections')['collection_to_move_around_in_aproject']['uuid'])
+    assert_includes(items, api_fixture('groups')['asubproject']['uuid'])
+    assert_includes(items, api_fixture('collections')['baz_collection_name_in_asubproject']['uuid'])
+    assert_includes(items,
+      api_fixture('groups')['subproject_in_asubproject_with_same_name_as_one_in_active_user_home']['uuid'])
+  end
 end