From 6656fddb8d9033e88ebdbefeb1cd6329fe6daa95 Mon Sep 17 00:00:00 2001 From: Vincent Pelletier <vincent@nexedi.com> Date: Mon, 22 Oct 2007 10:31:17 +0000 Subject: [PATCH] Add a check for worklist's advertised number of documents (so automaticaly advertise the number of documents). git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17085 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testWorklist.py | 61 ++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 15 deletions(-) diff --git a/product/ERP5/tests/testWorklist.py b/product/ERP5/tests/testWorklist.py index b7dc729bac..a47e5b87c7 100644 --- a/product/ERP5/tests/testWorklist.py +++ b/product/ERP5/tests/testWorklist.py @@ -128,6 +128,12 @@ class TestWorklist(ERP5TypeTestCase): module = self.getPortal().getDefaultModule(self.checked_portal_type) return module.newContent(portal_type=self.checked_portal_type) + def getWorklistDocumentCountFromActionName(self, action_name): + self.assertEquals(action_name[-1], ')') + left_parenthesis_offset = action_name.rfind('(') + self.assertNotEquals(left_parenthesis_offset, -1) + return int(action_name[left_parenthesis_offset + 1:-1]) + def createWorklist(self): workflow = self.getWorkflowTool()[self.checked_workflow] worklists = workflow.worklists @@ -137,7 +143,8 @@ class TestWorklist(ERP5TypeTestCase): (self.worklist_owner_id, self.actbox_owner_name, 'Owner')]: worklists.addWorklist(worklist_id) worklist_definition = worklists._getOb(worklist_id) - worklist_definition.setProperties('', actbox_name=actbox_name, + worklist_definition.setProperties('', + actbox_name='%s (%%(count)s)' % (actbox_name, ), props={'guard_roles': role, 'var_match_portal_type': self.checked_portal_type}) @@ -170,11 +177,15 @@ class TestWorklist(ERP5TypeTestCase): self.login(user_id) result = workflow_tool.listActions(object=document) self.logMessage("Check %s worklist as Assignor" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_assignor_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_assignor_name)] self.assertEquals(len(entry_list), 0) self.logMessage("Check %s worklist as Owner" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_owner_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_owner_name)] self.assertEquals(len(entry_list), 1) + self.assertEquals( + self.getWorklistDocumentCountFromActionName(entry_list[0]['name']), 1) self.logout() for user_id in ('foo', 'bar'): self.logMessage("Check %s worklist" % user_id) @@ -197,30 +208,40 @@ class TestWorklist(ERP5TypeTestCase): self.login(user_id) result = workflow_tool.listActions(object=document) self.logMessage("Check %s worklist as Assignor" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_assignor_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_assignor_name)] self.assertEquals(len(entry_list), 0) self.logMessage("Check %s worklist as Owner" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_owner_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_owner_name)] self.assertEquals(len(entry_list), 1) + self.assertEquals( + self.getWorklistDocumentCountFromActionName(entry_list[0]['name']), 1) self.logout() for user_id in ('bar', ): self.login(user_id) result = workflow_tool.listActions(object=document) self.logMessage("Check %s worklist as Assignor" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_assignor_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_assignor_name)] self.assertEquals(len(entry_list), 0) self.logMessage("Check %s worklist as Owner" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_owner_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_owner_name)] self.assertEquals(len(entry_list), 0) self.logout() for user_id in ('foo', ): self.login(user_id) result = workflow_tool.listActions(object=document) self.logMessage("Check %s worklist as Assignor" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_assignor_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_assignor_name)] self.assertEquals(len(entry_list), 1) + self.assertTrue( + self.getWorklistDocumentCountFromActionName(entry_list[0]['name']), 1) self.logMessage("Check %s worklist as Owner" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_owner_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_owner_name)] self.assertEquals(len(entry_list), 0) self.logout() @@ -241,30 +262,40 @@ class TestWorklist(ERP5TypeTestCase): self.login(user_id) result = workflow_tool.listActions(object=document) self.logMessage("Check %s worklist as Assignor" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_assignor_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_assignor_name)] self.assertEquals(len(entry_list), 0) self.logMessage("Check %s worklist as Owner" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_owner_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_owner_name)] self.assertEquals(len(entry_list), 1) + self.assertTrue( + self.getWorklistDocumentCountFromActionName(entry_list[0]['name']), 1) self.logout() for user_id in ('bar', ): self.login(user_id) result = workflow_tool.listActions(object=document) self.logMessage("Check %s worklist as Assignor" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_assignor_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_assignor_name)] self.assertEquals(len(entry_list), 0) self.logMessage("Check %s worklist as Owner" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_owner_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_owner_name)] self.assertEquals(len(entry_list), 0) self.logout() for user_id in ('foo', ): self.login(user_id) result = workflow_tool.listActions(object=document) self.logMessage("Check %s worklist as Assignor" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_assignor_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_assignor_name)] self.assertEquals(len(entry_list), 1) + self.assertTrue( + self.getWorklistDocumentCountFromActionName(entry_list[0]['name']), 1) self.logMessage("Check %s worklist as Owner" % user_id) - entry_list = [x for x in result if x['name'] == self.actbox_owner_name] + entry_list = [x for x in result \ + if x['name'].startswith(self.actbox_owner_name)] self.assertEquals(len(entry_list), 0) self.logout() -- 2.30.9