X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a59152e34814f453a7380e68a55534e2f8922d57..e7672a0b679659d6ba90d23b4e102fba747fa9ef:/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 0821e1fa6a..4a4530ca56 100644 --- a/apps/workbench/test/unit/group_test.rb +++ b/apps/workbench/test/unit/group_test.rb @@ -1,7 +1,40 @@ require 'test_helper' -class ProjectTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end +class GroupTest < ActiveSupport::TestCase + test "get contents with names" do + use_token :active + oi = Group. + 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") + oi_uuids = oi.collect { |i| i['uuid'] } + + expect_uuid = api_fixture('specimens')['in_asubproject']['uuid'] + assert_includes(oi_uuids, expect_uuid, + "Expected '#{expect_uuid}' in asubproject's contents") + end + + 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