X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/af3a38d81374f70d15134813563b7371e8e4127c..e08c67024acccb83a30d2010c34862973b883585:/apps/workbench/test/unit/arvados_resource_list_test.rb diff --git a/apps/workbench/test/unit/arvados_resource_list_test.rb b/apps/workbench/test/unit/arvados_resource_list_test.rb index 4ce67414c6..fa4f9c5697 100644 --- a/apps/workbench/test/unit/arvados_resource_list_test.rb +++ b/apps/workbench/test/unit/arvados_resource_list_test.rb @@ -10,11 +10,46 @@ class ResourceListTest < ActiveSupport::TestCase test 'links_for on non-empty resource list' do use_token :active - results = Group.find(api_fixture('groups')['afolder']['uuid']).contents(include_linked: true) + results = Group.find(api_fixture('groups')['aproject']['uuid']).contents(include_linked: true) assert_equal [], results.links_for(api_fixture('users')['active']['uuid']) assert_equal [], results.links_for(api_fixture('jobs')['running_cancelled']['uuid']) assert_equal [], results.links_for(api_fixture('jobs')['running']['uuid'], 'bogus-link-class') assert_equal true, results.links_for(api_fixture('jobs')['running']['uuid'], 'name').any? end + test 'links_for returns all link classes (simulated results)' do + project_uuid = api_fixture('groups')['aproject']['uuid'] + specimen_uuid = api_fixture('specimens')['in_aproject']['uuid'] + api_response = { + kind: 'arvados#specimenList', + links: [{kind: 'arvados#link', + uuid: 'zzzzz-o0j2j-asdfasdfasdfas0', + tail_uuid: project_uuid, + head_uuid: specimen_uuid, + link_class: 'name', + name: 'Alice'}, + {kind: 'arvados#link', + uuid: 'zzzzz-o0j2j-asdfasdfasdfas1', + tail_uuid: project_uuid, + head_uuid: specimen_uuid, + link_class: 'foo', + name: 'Bob'}, + {kind: 'arvados#link', + uuid: 'zzzzz-o0j2j-asdfasdfasdfas2', + tail_uuid: project_uuid, + head_uuid: specimen_uuid, + link_class: nil, + name: 'Clydesdale'}], + items: [{kind: 'arvados#specimen', + uuid: specimen_uuid}] + } + arl = ArvadosResourceList.new + arl.results = ArvadosApiClient.new.unpack_api_response(api_response) + assert_equal(['name', 'foo', nil], + (arl. + links_for(specimen_uuid). + collect { |x| x.link_class }), + "Expected links_for to return all link_classes") + end + end