Changeset 1154
- Timestamp:
- 07/16/08 00:10:01
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qPloneComments/branches/plone-3.0/tests/testQPloneCommentsModeration.py
r1126 r1154 17 17 def afterSetUp(self): 18 18 self.loginAsPortalOwner() 19 20 self.qi = getToolByName(self.portal, 'portal_quickinstaller', None) 21 self.qi.installProduct(PRODUCT) 22 # VERY IMPORTANT to guarantee product skin's content visibility 23 self._refreshSkinData() 24 25 # Get Plone version 26 self.version = getToolByName(self.portal, 'portal_migration').getFileSystemVersion() 19 self.portal.portal_quickinstaller.installProduct(PRODUCT) 27 20 28 21 # Add all users 29 22 addMembers(self.portal, USERS) 30 23 31 # For correct testing notification - add 'portal_owner' with 'email'32 #self.membership.addMember('portal_owner', 'secret' , ['Manager'], [])33 #member = self.membership.getMemberById('portal_owner')34 #member.setMemberProperties({'email':'creator@test.com'})35 #self.login('portal_owner')36 37 24 # Add users to Discussion Manager group 38 25 add2Group(self.portal, 'DiscussionManager', DM_USERS_IDS) 39 26 40 #portal_groups = getToolByName(self.portal, 'portal_groups')41 ##portal_groups.addGroup('DiscussionManager', roles=['DiscussionManager'])42 #dm_group = portal_groups.getGroupById('DiscussionManager')43 #dm_users = [dm_group.addMember(u) for u in DM_USERS_IDS]44 45 27 # Allow discussion for Document 46 portal_types = getToolByName(self.portal, 'portal_types' , None)28 portal_types = getToolByName(self.portal, 'portal_types') 47 29 doc_fti = portal_types.getTypeInfo('Document') 48 30 doc_fti._updateProperty('allow_discussion', 1) 49 31 50 32 # Make sure Documents are visible by default 51 # XXX only do this for plone 352 33 self.portal.portal_workflow.setChainForPortalTypes(('Document',), 'plone_workflow') 53 34 … … 71 52 doc = getattr(self.portal, 'doc_%s' % DM_USERS_IDS[0]) 72 53 for u in DM_USERS_IDS: 73 self.logout()74 54 self.login(u) 75 55 replies = self.discussion.getDiscussionFor(doc).getReplies() 76 56 self.assert_(replies, "Viewing discussion item forbiden for %s - member of DiscussionManager group" % u) 77 78 57 79 58 def testViewRepliesNotPublishedNotDMUsers(self): … … 111 90 # Publish button MUST BE ABSENT in document view form 112 91 # Pattern for publish button presence checking 113 if self.version.startswith("2.1"): 114 pattern = re.compile('.*<input\\s*class="standalone"\\s*type="submit"\\s*value="Publish"\\s*/>',\ 115 re.S|re.M) 116 elif self.version.startswith("2.5") or self.version.startswith('3.0'): 117 pattern = re.compile('.*<input.+?value="Publish"',\ 118 re.S|re.M) 119 else: 120 pattern = re.compile('.*<input\\s*class="standalone"\\s*type="submit"\\s*value="Publish This Discussion"\\s*/>',\ 121 re.S|re.M) 122 92 pattern = re.compile('.*<input.+?value="Publish"', re.S|re.M) 123 93 roles = [r['name'] for r in self.portal.rolesOfPermission('Moderate Discussion') if r['selected'] == 'SELECTED'] 124 94 authorized_users = [user for user in COMMON_USERS_IDS if user !='anonym'] … … 138 108 # Publish button MUST PRESENT in document view form 139 109 # Pattern for publish button presence checking 140 if self.version.startswith("2.1"): 141 pattern = re.compile('.*<input\\s*class="standalone"\\s*type="submit"\\s*value="Publish"\\s*/>',\ 142 re.S|re.M) 143 elif self.version.startswith("2.5") or self.version.startswith('3.0'): 144 pattern = re.compile('.*<input.+?value="Publish"',\ 145 re.S|re.M) 146 else: 147 pattern = re.compile('.*<input\\s*class="standalone"\\s*type="submit"\\s*value="Publish"\\s*/>',\ 148 re.S|re.M) 110 pattern = re.compile('.*<input.+?value="Publish"',re.S|re.M) 111 # pattern = re.compile('.*<input\\s*class="standalone"\\s*type="submit"\\s*value="Publish"\\s*/>', re.S|re.M) 112 import pdb; pdb.set_trace() 149 113 for u in DM_USERS_IDS: 150 self.logout()151 114 self.login(u) 152 115 auth = '%s:%s' % (u,USERS[u]['passw']) … … 160 123 # Check whether perform real publishing 161 124 # Pattern for publish button presence checking 162 if self.version.startswith("2.1"): 163 pattern = re.compile('.*<input\\s*class="standalone"\\s*type="submit"\\s*value="Publish"\\s*/>',\ 164 re.S|re.M) 165 elif self.version.startswith("2.5") or self.version.startswith('3.0'): 166 pattern = re.compile('.*<input.+?value="Publish"',\ 167 re.S|re.M) 168 else: 169 pattern = re.compile('.*<input\\s*class="standalone"\\s*type="submit"\\s*value="Publish This Discussion"\\s*/>',\ 170 re.S|re.M) 125 pattern = re.compile('.*<input.+?value="Publish"',re.S|re.M) 171 126 for u in DM_USERS_IDS: 172 127 doc_id = "doc_%s" % u … … 190 145 self.logout() 191 146 self.assert_(getReplies(), "%s - member of DiscussionManager group NOT PUBLISH reply" % u) 192 193 147 194 148 ## TEST DELETING … … 207 161 reply.discussion_publish_comment() 208 162 # Prepare pattern for delete reply button presence checking 209 if self.version.startswith("2.1"): 210 pattern = re.compile('.*<input\\s*class="destructive"\\s*type="submit"\\s*value="Remove"\\s*/>',\ 211 re.S|re.M) 212 elif self.version.startswith("2.5") or self.version.startswith('3.0'): 213 pattern = re.compile('.*<input\\s*class="destructive"\\s*type="submit"\\s*value="Remove"\\s*/>',\ 214 re.S|re.M) 215 else: 216 pattern = re.compile('.*<input\\s*class="destructive"\\s*type="submit"\\s*value="Remove"\\s*/>',\ 217 re.S|re.M) 163 pattern = re.compile('.*<input\\s*class="destructive"\\s*type="submit"\\s*value="Remove"\\s*/>', re.S|re.M) 218 164 for u in COMMON_USERS_IDS: 219 165 self.logout() … … 238 184 common_man = [u for u in managers if not u.startswith('dm_')][0] 239 185 # Publish document for common manager 240 self.logout()241 186 self.login(dm_man) 242 187 doc_obj = getattr(self.portal, "doc_%s" % common_man) … … 245 190 # Check for really deleting 246 191 for u in managers: 247 self.logout()248 192 self.login(u) 249 193 auth = '%s:%s' % (u,USERS[u]['passw'])
