[Erp5-report] r34473 jerome - /erp5/trunk/products/ERP5/tests/testERP5Base.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Apr 12 16:50:06 CEST 2010
Author: jerome
Date: Mon Apr 12 16:50:04 2010
New Revision: 34473
URL: http://svn.erp5.org?rev=34473&view=rev
Log:
tests Base_createCloneDocument:
- on a top level document in a module
- on a subdocument
- on a "folderish" subdocument
those tests currently fails, because to clone a folderish subdocument, you need
"Add portal folders" permission, whereas with ERP5 we usually use "Add portal
content".
Modified:
erp5/trunk/products/ERP5/tests/testERP5Base.py
Modified: erp5/trunk/products/ERP5/tests/testERP5Base.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testERP5Base.py?rev=34473&r1=34472&r2=34473&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testERP5Base.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testERP5Base.py [utf8] Mon Apr 12 16:50:04 2010
@@ -78,7 +78,6 @@
self.portal_catalog = self.getCatalogTool()
self.portal_preferences = self.getPreferenceTool()
self.createCategories()
- # self.login_as_member()
def beforeTearDown(self):
transaction.abort()
@@ -106,12 +105,12 @@
user = user_folder.getUserById(user_name).__of__(user_folder)
newSecurityManager(None, user)
- def login_as_member(self):
- """Create a new member user and login.
+ def login_as_auditor(self):
+ """Create a new member user with Auditor role, and login
"""
user_name = 'member_user'
user_folder = self.getPortal().acl_users
- user_folder._doAddUser(user_name, '', ['Member', 'Author', 'Assignor'], [])
+ user_folder._doAddUser(user_name, '', ['Member', 'Auditor'], [])
user = user_folder.getUserById(user_name).__of__(user_folder)
newSecurityManager(None, user)
@@ -1433,6 +1432,41 @@
translated_portal_type='Personne')])
transaction.abort()
+ def test_Base_createCloneDocument(self):
+ module = self.portal.person_module
+ module.manage_permission('Add portal content', ['Member'], 0)
+ self.login_as_auditor()
+ person = module.newContent(portal_type='Person',)
+ self.assertEquals(1, len(module))
+ person.Base_createCloneDocument()
+ self.assertEquals(2, len(module))
+
+ def test_Base_createCloneDocument_document_in_document(self):
+ module = self.portal.person_module
+ module.manage_permission('Add portal content', ['Member'], 0)
+ self.login_as_auditor()
+ person = module.newContent(portal_type='Person',)
+ # An address is a document, it cannot contain anything
+ address = person.newContent(portal_type='Address')
+ self.assertEquals(0, len(address.allowedContentTypes()))
+
+ self.assertEquals(1, len(person))
+ address.Base_createCloneDocument()
+ self.assertEquals(2, len(person))
+
+ def test_Base_createCloneDocument_folder_in_document(self):
+ module = self.portal.person_module
+ module.manage_permission('Add portal content', ['Member'], 0)
+ self.login_as_auditor()
+ person = module.newContent(portal_type='Person',)
+ bank_account = person.newContent(portal_type='Bank Account')
+ # A bank account is a folder, it cannot contain other documents
+ self.assertNotEquals(0, len(bank_account.allowedContentTypes()))
+
+ self.assertEquals(1, len(person))
+ bank_account.Base_createCloneDocument()
+ self.assertEquals(2, len(person))
+
def getWorkflowHistory(self, document, workflow_id):
return self.portal.portal_workflow.getInfoFor(ob=document, name='history',
wf_id=workflow_id)
More information about the Erp5-report
mailing list