Changeset 214

Show
Ignore:
Timestamp:
01/26/06 11:27:56
Author:
mylan
Message:

Write Notification tests.
Change tests for new notification functionality, concerning discussion manager and document's creator.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • qPloneComments/trunk/tests/testQPloneCommentsConfiglet.py

    r213 r214  
    1010from Products.CMFCore.utils import getToolByName 
    1111from Products.CMFCore.CMFCorePermissions import ManagePortal, ReplyToItem 
    12 import socket 
     12from Products.MailHost.MailHost import MailBase 
    1313 
    1414PRODUCT = 'qPloneComments' 
     
    3333PloneTestCase.setupPloneSite() 
    3434 
     35 
    3536def addUsers(self): 
    3637    self.loginAsPortalOwner() 
     
    4243    # Add users to Discussion Manager group 
    4344    portal_groups = getToolByName(self.portal, 'portal_groups') 
    44     #portal_groups.addGroup('DiscussionManager', roles=['DiscussionManager']) 
    4545    dm_group = portal_groups.getGroupById(id='DiscussionManager') 
    4646    dm_users = [dm_group.addMember(u) for u in DM_USERS_IDS] 
    47      
     47 
    4848 
    4949class TestConfiglet(PloneTestCase.FunctionalTestCase): 
     
    6363        doc_fti._updateProperty('allow_discussion', 1) 
    6464 
     65        portal_properties = getToolByName(self.portal, 'portal_properties', None) 
     66        self.prefs = portal_properties[PROPERTY_SHEET] 
     67        self.request = self.app.REQUEST 
     68 
     69        # Add Manager user - 'dm' and add him to Discussion Manager group 
     70        self.portal.portal_membership.addMember('dm', 'secret' , ['Manager'], []) 
     71        portal_groups = getToolByName(self.portal, 'portal_groups') 
     72        dm_group = portal_groups.getGroupById(id='DiscussionManager') 
     73        dm_group.addMember('dm') 
     74        #self.logout() 
     75        self.login('dm') 
     76        # For prepare mail sending - enter an e-mail adress 
     77        self.prefs._updateProperty('Email_Discussion_Manager', 'discussion.manager@test.com') 
     78        member = self.portal.portal_membership.getAuthenticatedMember() 
     79        member.setMemberProperties({'email':'creator@test.com'}) 
     80        #self.fail(member.getMemberId()+' :: '+member.getUserName()+' :: '+str(member.getRoles())+' :: '+member.getProperty('email')) 
     81         
    6582        # Add testing document to portal 
    6683        my_doc = self.portal.invokeFactory('Document', id='my_doc') 
    6784        self.my_doc = self.portal['my_doc'] 
    6885        self.my_doc.edit(text_format='plain', text='hello world') 
    69  
    70         portal_properties = getToolByName(self.portal, 'portal_properties', None) 
    71         self.prefs = portal_properties[PROPERTY_SHEET] 
    72         self.request = self.app.REQUEST 
    7386 
    7487 
     
    138151 
    139152 
    140     def testNotification(self): 
    141         # For prepare mail sending - enter an e-mail adress 
    142         self.prefs._updateProperty('Email_Discussion_Manager', 'wrong_email_addr') 
    143         # Create talkback for document and Prepare REQUEST 
    144         self.portal.portal_discussion.getDiscussionFor(self.my_doc) 
    145         self.request.form['Creator'] = self.portal.portal_membership.getAuthenticatedMember().getUserName() 
    146         self.request.form['subject'] = "Reply 1" 
    147         self.request.form['body_text'] = "text of reply" 
     153    def testApproveNotification(self): 
     154        # Check ON Notification Anonymous Commenting 
     155        self.request.form['Enable_Approve_Notification'] = 'True' 
     156        self.portal.prefs_comments_setup() 
     157        self.assert_(self.prefs.getProperty('Enable_Approve_Notification')==1,"Approve Notification not terned ON") 
    148158 
    149         # Check Notification ON 
    150         self.assert_(self.prefs.getProperty('Enable_Notification')==1,"Notification not terned ON") 
    151         self.assertRaises(socket.error, self.my_doc.discussion_reply, 'Reply 1', 'text of reply') 
    152         # Check Notification OFF 
    153         self.prefs._updateProperty('Enable_Notification', 0) 
    154         self.assert_(self.prefs.getProperty('Enable_Notification')==0,"Notification not terned Off") 
    155         try: 
    156             self.my_doc.discussion_reply('Reply 1','text of reply') 
    157         except socket.error: 
    158             self.fail("Terning notification Off NOT work") 
     159        # Check OFF Notification Anonymous Commenting 
     160        if self.request.form.has_key('Enable_Approve_Notification'): 
     161           del self.request.form['Enable_Approve_Notification'] 
     162        self.portal.prefs_comments_setup() 
     163        self.assert_(self.prefs.getProperty('Enable_Approve_Notification')==0,"Approve Notification not terned OFF") 
     164 
     165 
     166    def testPublishedNotification(self): 
     167        # Check ON Notification Anonymous Commenting 
     168        self.request.form['Enable_Published_Notification'] = 'True' 
     169        self.portal.prefs_comments_setup() 
     170        self.assert_(self.prefs.getProperty('Enable_Published_Notification')==1,"Published Notification not terned ON") 
     171 
     172        # Check OFF Notification Anonymous Commenting 
     173        if self.request.form.has_key('Enable_Published_Notification'): 
     174           del self.request.form['Enable_Published_Notification'] 
     175        self.portal.prefs_comments_setup() 
     176        self.assert_(self.prefs.getProperty('Enable_Published_Notification')==0,"Published Notification not terned OFF") 
     177 
    159178 
    160179 
  • qPloneComments/trunk/tests/testQPloneCommentsModeration.py

    r213 r214  
    4141        self._refreshSkinData() 
    4242 
    43         '''Preparation for functional testing''' 
    44         # By default on installation terning on moderation and anonymus commenting 
    45         # But if that changes. Following 4 lines must be uncommenting 
    46         #self.request = self.app.REQUEST 
    47         #self.request.form['Enable_Anonymous_Commenting'] = 'True' 
    48         #self.request.form['Enable_Moderation'] = 'True' 
    49         #self.portal.prefs_comments_setup() 
    50  
    5143        # Add all users 
    5244        self.membership = getToolByName(self.portal, 'portal_membership', None) 
    5345        for user_id in USERS.keys(): 
    5446            self.membership.addMember(user_id, USERS[user_id]['passw'] , USERS[user_id]['roles'], []) 
    55          
     47        # For correct testing notification - add 'portal_owner' with 'email' 
     48        #self.membership.addMember('portal_owner', 'secret' , ['Manager'], []) 
     49        #member = self.membership.getMemberById('portal_owner') 
     50        #member.setMemberProperties({'email':'creator@test.com'}) 
     51        #self.login('portal_owner') 
     52 
    5653        # Add users to Discussion Manager group 
    5754        portal_groups = getToolByName(self.portal, 'portal_groups')