end
@objects = search_what.contents(limit: @limit,
offset: @offset,
+ recursive: true,
count: 'none',
last_object_class: params["last_object_class"],
filters: @filters)
def next_page_href with_params={}
super with_params.merge(last_object_class: @objects.last.class.to_s,
project_uuid: params[:project_uuid],
+ recursive: true,
count: 'none',
filters: @filters.to_json)
end
ArvadosResourceList.new(self).include_trash(*args)
end
+ def self.recursive(*args)
+ ArvadosResourceList.new(self).recursive(*args)
+ end
+
def self.eager(*args)
ArvadosResourceList.new(self).eager(*args)
end
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 empty project should 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