diff --git a/buildout.cfg b/buildout.cfg index 6e65f49..94fee07 100644 --- a/buildout.cfg +++ b/buildout.cfg @@ -16,7 +16,7 @@ extensions = mr.developer auto-checkout = collective.workspace [sources] -collective.workspace = git git@github.com:collective/collective.workspace.git +collective.workspace = git https://github.com/collective/collective.workspace.git [omelette] recipe = collective.recipe.omelette diff --git a/pre-commit/pre-commit b/pre-commit/pre-commit index 6b16ec4..347ff63 100755 --- a/pre-commit/pre-commit +++ b/pre-commit/pre-commit @@ -1,3 +1,3 @@ #!/bin/sh -{PWD}/bin/python {PWD}/pre-commit/pre-commit.py +python {PWD}/pre-commit/pre-commit.py diff --git a/src/ploneintranet/workspace/tests/test_content_type.py b/src/ploneintranet/workspace/tests/test_content_type.py index 315fe14..e76cbf3 100644 --- a/src/ploneintranet/workspace/tests/test_content_type.py +++ b/src/ploneintranet/workspace/tests/test_content_type.py @@ -6,6 +6,7 @@ class TestContentTypes(BaseTestCase): def create_workspace(self): + """ returns adapted workspace folder""" workspace_folder = api.content.create( self.portal, 'ploneintranet.workspace.workspacefolder', @@ -13,6 +14,23 @@ def create_workspace(self): title='Welcome to my workspace') return IWorkspace(workspace_folder) + def create_unadapted_workspace(self): + """ Return unadapted workspace object """ + workspace_folder = api.content.create( + self.portal, + 'ploneintranet.workspace.workspacefolder', + 'example-workspace', + title='Welcome to my workspace') + return workspace_folder + + def create_user(self, name="testuser", password="secret"): + user = api.user.create( + email="test@user.com", + username=name, + password=password, + ) + return user + def test_add_workspacefolder(self): """ check that we can create our workspace folder type, and that it provides the collective.workspace behaviour @@ -40,11 +58,27 @@ def test_add_user_to_workspace(self): """ check that we can add a new user to a workspace """ self.login_as_portal_owner() ws = self.create_workspace() - user = api.user.create( - email="test@user.com", - username="testuser", - password="secret", - ) + user = self.create_user() ws.add_to_team(user=user) self.assertEqual(len(ws.members), 1) self.assertEqual(list(ws.members)[0].getUserName(), 'testuser') + + def test_add_admin_to_workspace(self): + """ check that site admin can add team admin to the workspace """ + self.login_as_portal_owner() + ws = self.create_unadapted_workspace() + user = self.create_user() + groups = api.group.get_groups() + group_names = [x.getName() for x in groups] + group_name = "Admins:%s" % (api.content.get_uuid(ws)) + self.assertIn( + group_name, + group_names) + workspace = IWorkspace(ws) + workspace.add_to_team(user=user, groups=set([u"Admins"])) + + portal = api.portal.get() + pgroups = portal.portal_groups.getGroupById(group_name) + members = pgroups.getGroup().getMemberIds() + self.assertEqual(len(members), 1) + self.assertEqual(members[0].getId(), user.getId())