def afterSetUp(self): self.loginAsPortalOwner() # Add all users addMembers(self.portal, USERS) # Add users to Discussion Manager group add2Group(self.portal, 'DiscussionManager', DM_USERS_IDS) # Allow discussion for Document portal_types = getToolByName(self.portal, 'portal_types') doc_fti = portal_types.getTypeInfo('Document') doc_fti._updateProperty('allow_discussion', 1) # Make sure Documents are visible by default self.portal.portal_workflow.setChainForPortalTypes(('Document',), 'plone_workflow') # Add testing documents to portal. Add one document for avery user. # For testing behaviors, where made some changes to document state # it's more usefull. self.discussion = getToolByName(self.portal, 'portal_discussion', None) all_users_id = DM_USERS_IDS + COMMON_USERS_IDS for user_id in all_users_id: doc_id = 'doc_%s' % user_id self.portal.invokeFactory('Document', id=doc_id) doc_obj = getattr(self.portal, doc_id) doc_obj.edit(text_format='plain', text='hello world from %s' % doc_id) # Create talkback for document and Add comment to doc_obj self.discussion.getDiscussionFor(doc_obj) doc_obj.discussion_reply('A Reply for %s' % doc_id, 'text of reply for %s' % doc_id)
def afterSetUp(self): self.portal._original_MailHost = self.portal.MailHost self.portal.MailHost = MockMailHost('MailHost') self.loginAsPortalOwner() # VERY IMPORTANT to guarantee product skin's content visibility self._refreshSkinData() '''Preparation for functional testing''' self.membership = getToolByName(self.portal, 'portal_membership', None) self.discussion = getToolByName(self.portal, 'portal_discussion', None) # Allow discussion for Document portal_types = getToolByName(self.portal, 'portal_types', None) doc_fti = portal_types.getTypeInfo('Document') doc_fti._updateProperty('allow_discussion', 1) # Make sure Documents are visible by default # XXX only do this for plone 3 self.portal.portal_workflow.setChainForPortalTypes(('Document',), 'plone_workflow') portal_properties = getToolByName(self.portal, 'portal_properties', None) self.prefs = portal_properties[PROPERTY_SHEET] # Add users and add members to DiscussionManager group addMembers(self.portal, USERS) add2Group(self.portal, 'DiscussionManager', DM_USERS_IDS) self.createMemberarea('owner') # Prepare mail sending - enter an e-mail adress, # and allow all possible notifications self.portal.email_from_address = '*****@*****.**' setProperties(self.prefs, 'enable_moderation', 'enable_approve_notification', 'enable_approve_user_notification', 'enable_reply_user_notification', 'enable_published_notification', 'enable_rejected_user_notification') self.prefs._updateProperty('email_discussion_manager', '*****@*****.**') self.prefs._updateProperty('email_subject_prefix', 'PREFIX') # Add testing document to portal self.login('owner') self.portal.Members['owner'].invokeFactory('Document', id='my_doc', title="Test document") self.my_doc = self.portal.Members['owner']['my_doc'] self.my_doc.edit(text_format='plain', text='hello world') # Create talkback for document and Prepare REQUEST self.discussion.getDiscussionFor(self.my_doc)