X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d8de76141cbe9a9af10dfc408b6d656cc727bbe5..cfcfa1c48d95a07bb961baeef8d7658ddecce41e:/apps/workbench/test/unit/group_test.rb diff --git a/apps/workbench/test/unit/group_test.rb b/apps/workbench/test/unit/group_test.rb index 4a7144f99a..4a4530ca56 100644 --- a/apps/workbench/test/unit/group_test.rb +++ b/apps/workbench/test/unit/group_test.rb @@ -4,25 +4,37 @@ class GroupTest < ActiveSupport::TestCase test "get contents with names" do use_token :active oi = Group. - find(api_fixture('groups')['asubfolder']['uuid']). - contents(include_linked: true) + find(api_fixture('groups')['asubproject']['uuid']). + contents() assert_operator(0, :<, oi.count, "Expected to find some items belonging to :active user") assert_operator(0, :<, oi.items_available, "Expected contents response to have items_available > 0") - assert_operator(0, :<, oi.result_links.count, - "Expected to receive name links with contents response") oi_uuids = oi.collect { |i| i['uuid'] } - expect_uuid = api_fixture('specimens')['in_asubfolder']['uuid'] + expect_uuid = api_fixture('specimens')['in_asubproject']['uuid'] assert_includes(oi_uuids, expect_uuid, - "Expected '#{expect_uuid}' in asubfolder's contents") + "Expected '#{expect_uuid}' in asubproject's contents") + end - expect_uuid = api_fixture('specimens')['in_afolder_linked_from_asubfolder']['uuid'] - expect_name = api_fixture('links')['specimen_is_in_two_folders']['name'] - assert_includes(oi_uuids, expect_uuid, - "Expected '#{expect_uuid}' in asubfolder's contents") - assert_equal(expect_name, oi.name_for(expect_uuid), - "Expected name_for '#{expect_uuid}' to be '#{expect_name}'") + test "can select specific group columns" do + use_token :admin + Group.select(["uuid", "name"]).limit(5).each do |user| + assert_not_nil user.uuid + assert_not_nil user.name + assert_nil user.owner_uuid + end + end + + test "project editable by its admin" do + use_token :subproject_admin + project = Group.find(api_fixture("groups")["asubproject"]["uuid"]) + assert(project.editable?, "project not editable by admin") + end + + test "project not editable by reader" do + use_token :project_viewer + project = Group.find(api_fixture("groups")["aproject"]["uuid"]) + refute(project.editable?, "project editable by reader") end end