Back to index

plone3  3.1.7
Public Member Functions | Public Attributes | Static Public Attributes
PloneTestCase.testDocument.TestDocument Class Reference
Inheritance diagram for PloneTestCase.testDocument.TestDocument:
Inheritance graph
[legend]
Collaboration diagram for PloneTestCase.testDocument.TestDocument:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def afterSetUp
def testAddDocument
def testEditDocument
def testReindexDocument
def testDeleteDocument
def testSubmitDocument
def testAcceptDocument
def testPublishDocument
def testRejectDocument
def testRetractDocument
def testRejectDocument
def testRetractDocument
def getPortal
def createMemberarea
def setRoles
def setGroups
def loginAsPortalOwner
def addProfile
def addProduct

Public Attributes

 membership
 catalog
 workflow

Static Public Attributes

 layer = layer.PloneSite

Detailed Description

Definition at line 15 of file testDocument.py.


Member Function Documentation

def PloneTestCase.PloneTestCase.PloneTestCase.addProduct (   self,
  name 
) [inherited]
Quickinstalls a product into the site.

Definition at line 156 of file PloneTestCase.py.

00156 
00157     def addProduct(self, name):
00158         '''Quickinstalls a product into the site.'''
00159         sm = getSecurityManager()
00160         self.loginAsPortalOwner()
00161         try:
00162             qi = self.portal.portal_quickinstaller
00163             if not qi.isProductInstalled(name):
00164                 qi.installProduct(name)
00165                 self._refreshSkinData()
00166         finally:
00167             setSecurityManager(sm)
00168 

Here is the call graph for this function:

Here is the caller graph for this function:

def PloneTestCase.PloneTestCase.PloneTestCase.addProfile (   self,
  name 
) [inherited]
Imports an extension profile into the site.

Definition at line 134 of file PloneTestCase.py.

00134 
00135     def addProfile(self, name):
00136         '''Imports an extension profile into the site.'''
00137         sm = getSecurityManager()
00138         self.loginAsPortalOwner()
00139         try:
00140             installed = getattr(self.portal, '_installed_profiles', {})
00141             if not installed.has_key(name):
00142                 setup = self.portal.portal_setup
00143                 profile_id = 'profile-%s' % (name,)
00144                 if PLONE30:
00145                     setup.runAllImportStepsFromProfile(profile_id)
00146                 else:
00147                     saved = setup.getImportContextID()
00148                     try:
00149                         setup.setImportContext(profile_id)
00150                         setup.runAllImportSteps()
00151                     finally:
00152                         setup.setImportContext(saved)
00153                 self._refreshSkinData()
00154         finally:
00155             setSecurityManager(sm)

Here is the call graph for this function:

Definition at line 17 of file testDocument.py.

00017 
00018     def afterSetUp(self):
00019         self.membership = self.portal.portal_membership
00020         self.catalog = self.portal.portal_catalog
00021         self.workflow = self.portal.portal_workflow
00022         self.folder.invokeFactory('Document', id='doc')

def PloneTestCase.PloneTestCase.PloneTestCase.createMemberarea (   self,
  name 
) [inherited]
Creates a minimal memberarea.

Definition at line 96 of file PloneTestCase.py.

00096 
00097     def createMemberarea(self, name):
00098         '''Creates a minimal memberarea.'''
00099         _createHomeFolder(self.portal, name)

Here is the call graph for this function:

Here is the caller graph for this function:

Returns the portal object.

   Do not call this method! Use the self.portal
   attribute to access the portal object from tests.

Definition at line 88 of file PloneTestCase.py.

00088 
00089     def getPortal(self):
00090         '''Returns the portal object.
00091 
00092            Do not call this method! Use the self.portal
00093            attribute to access the portal object from tests.
00094         '''
00095         return getattr(self.app, portal_name)

Here is the caller graph for this function:

Use if - AND ONLY IF - you need to manipulate
   the portal object itself.

Definition at line 122 of file PloneTestCase.py.

00122 
00123     def loginAsPortalOwner(self):
00124         '''Use if - AND ONLY IF - you need to manipulate
00125            the portal object itself.
00126         '''
00127         uf = self.app.acl_users
00128         user = uf.getUserById(portal_owner)
00129         if not hasattr(user, 'aq_base'):
00130             user = user.__of__(uf)
00131         newSecurityManager(None, user)

def PloneTestCase.PloneTestCase.PloneTestCase.setGroups (   self,
  groups,
  name = default_user 
) [inherited]
Changes the user's groups.

Definition at line 112 of file PloneTestCase.py.

00112 
00113     def setGroups(self, groups, name=default_user):
00114         '''Changes the user's groups.'''
00115         uf = self.portal.acl_users
00116         if PLONE25:
00117             uf.userSetGroups(name, utils.makelist(groups))
00118         else:
00119             uf._updateUser(name, groups=utils.makelist(groups))
00120         if name == getSecurityManager().getUser().getId():
00121             self.login(name)

Here is the call graph for this function:

Here is the caller graph for this function:

def PloneTestCase.PloneTestCase.PloneTestCase.setRoles (   self,
  roles,
  name = default_user 
) [inherited]
Changes the user's roles.

Definition at line 102 of file PloneTestCase.py.

00102 
00103     def setRoles(self, roles, name=default_user):
00104         '''Changes the user's roles.'''
00105         uf = self.portal.acl_users
00106         if PLONE25:
00107             uf.userFolderEditUser(name, None, utils.makelist(roles), [])
00108         else:
00109             uf._updateUser(name, roles=utils.makelist(roles))
00110         if name == getSecurityManager().getUser().getId():
00111             self.login(name)

Here is the call graph for this function:

Definition at line 47 of file testDocument.py.

00047 
00048     def testAcceptDocument(self):
00049         self.workflow.doActionFor(self.folder.doc, 'submit')
00050         self.setRoles(['Reviewer'])
00051         self.workflow.doActionFor(self.folder.doc, 'publish')
00052         self.assertEqual(self.workflow.getInfoFor(self.folder.doc, 'review_state'), 'published')
00053         self.assertEqual(len(self.catalog(getId='doc', review_state='published')), 1)

Here is the call graph for this function:

Definition at line 23 of file testDocument.py.

00023 
00024     def testAddDocument(self):
00025         self.failUnless(hasattr(aq_base(self.folder), 'doc'))
00026         self.failUnless(self.catalog(getId='doc'))

Here is the call graph for this function:

Definition at line 37 of file testDocument.py.

00037 
00038     def testDeleteDocument(self):
00039         self.assertEqual(len(self.catalog(getId='doc')), 1)
00040         self.folder._delObject('doc')
00041         self.assertEqual(len(self.catalog(getId='doc')), 0)

Definition at line 27 of file testDocument.py.

00027 
00028     def testEditDocument(self):
00029         self.folder.doc.edit(text_format='plain', text='data')
00030         self.assertEqual(self.folder.doc.EditableBody(), 'data')

Definition at line 54 of file testDocument.py.

00054 
00055     def testPublishDocument(self):
00056         self.setRoles(['Reviewer'])
00057         self.workflow.doActionFor(self.folder.doc, 'publish')
00058         self.assertEqual(self.workflow.getInfoFor(self.folder.doc, 'review_state'), 'published')
00059         self.assertEqual(len(self.catalog(getId='doc', review_state='published')), 1)

Here is the call graph for this function:

Definition at line 31 of file testDocument.py.

00031 
00032     def testReindexDocument(self):
00033         self.assertEqual(len(self.catalog(getId='doc', Title='Foo')), 0)
00034         self.folder.doc.setTitle('Foo')
00035         self.folder.doc.reindexObject()
00036         self.assertEqual(len(self.catalog(getId='doc', Title='Foo')), 1)

Definition at line 62 of file testDocument.py.

00062 
00063         def testRejectDocument(self):
00064             self.workflow.doActionFor(self.folder.doc, 'submit')
00065             self.setRoles(['Reviewer'])
00066             self.workflow.doActionFor(self.folder.doc, 'reject')
00067             self.assertEqual(self.workflow.getInfoFor(self.folder.doc, 'review_state'), 'private')
00068             self.assertEqual(len(self.catalog(getId='doc', review_state='private')), 1)

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 79 of file testDocument.py.

00079 
00080         def testRejectDocument(self):
00081             self.workflow.doActionFor(self.folder.doc, 'submit')
00082             self.setRoles(['Reviewer'])
00083             self.workflow.doActionFor(self.folder.doc, 'reject')
00084             self.assertEqual(self.workflow.getInfoFor(self.folder.doc, 'review_state'), 'visible')
00085             self.assertEqual(len(self.catalog(getId='doc', review_state='visible')), 1)

Here is the call graph for this function:

Definition at line 69 of file testDocument.py.

00069 
00070         def testRetractDocument(self):
00071             self.setRoles(['Reviewer'])
00072             self.workflow.doActionFor(self.folder.doc, 'publish')
00073             self.setRoles(['Member'])
00074             self.workflow.doActionFor(self.folder.doc, 'retract')
00075             self.assertEqual(self.workflow.getInfoFor(self.folder.doc, 'review_state'), 'private')
00076             self.assertEqual(len(self.catalog(getId='doc', review_state='private')), 1)

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 86 of file testDocument.py.

00086 
00087         def testRetractDocument(self):
00088             self.setRoles(['Reviewer'])
00089             self.workflow.doActionFor(self.folder.doc, 'publish')
00090             self.setRoles(['Member'])
00091             self.workflow.doActionFor(self.folder.doc, 'retract')
00092             self.assertEqual(self.workflow.getInfoFor(self.folder.doc, 'review_state'), 'visible')
00093             self.assertEqual(len(self.catalog(getId='doc', review_state='visible')), 1)
00094 

Here is the call graph for this function:

Definition at line 42 of file testDocument.py.

00042 
00043     def testSubmitDocument(self):
00044         self.workflow.doActionFor(self.folder.doc, 'submit')
00045         self.assertEqual(self.workflow.getInfoFor(self.folder.doc, 'review_state'), 'pending')
00046         self.assertEqual(len(self.catalog(getId='doc', review_state='pending')), 1)


Member Data Documentation

Definition at line 19 of file testDocument.py.

Definition at line 65 of file PloneTestCase.py.

Definition at line 18 of file testDocument.py.

Definition at line 20 of file testDocument.py.


The documentation for this class was generated from the following file: