Ignore:
Timestamp:
10 Jan 2018, 14:44:49 (7 years ago)
Author:
Henrik Bettermann
Message:

Do no longer hide the 'Create students' buttons but switch the portal to
maintenance mode to ensure that nobody can enter the portal during
record creation except for user 'admin'. This guarantees that record
creation is only started once.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/applicants/tests/test_applicantcopier.py

    r12565 r14934  
    2626from zope.component import getUtility
    2727from zope.i18n import translate
     28from zope.securitypolicy.interfaces import IPrincipalRoleManager
    2829from waeup.kofa.testing import FunctionalLayer
    2930from waeup.kofa.interfaces import IExtFileStore, IFileStoreNameChooser
     
    4243
    4344    def prepare_applicant(self):
    44         self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
    4545        self.browser.open(self.manage_path)
    4646        self.fill_correct_values()
     
    5656
    5757    def test_copier(self):
     58        self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
    5859        self.prepare_applicant()
    5960        storage = getUtility(IExtFileStore)
     
    140141
    141142    def test_batch_copying(self):
     143        self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
    142144        self.prepare_applicant()
    143145        IWorkflowState(self.applicant).setState('admitted')
     
    155157        logfile = os.path.join(
    156158            self.app['datacenter'].storage, 'logs', 'applicants.log')
     159        self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
    157160        self.prepare_applicant()
    158161        self.browser.open(self.container_path + '/createallstudents')
     
    182185        logfile = os.path.join(
    183186            self.app['datacenter'].storage, 'logs', 'applicants.log')
     187        self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
    184188        self.prepare_applicant()
    185189        self.browser.open(self.manage_path)
     
    238242        logcontent = open(logfile).read()
    239243        self.assertTrue('IOError: Application Slip could not be created.' in logcontent)
     244
     245    def disabled_test_delay(self):
     246        # Create portalmanager manager
     247        self.app['users'].addUser('mrportalmanager', 'mrportalmanagersecret')
     248        self.app['users']['mrportalmanager'].email = 'mrportalmanager@foo.ng'
     249        self.app['users']['mrportalmanager'].title = 'Carlos Portales'
     250        prmglobal = IPrincipalRoleManager(self.app)
     251        prmglobal.assignRoleToPrincipal(
     252            'waeup.PortalManager', 'mrportalmanager')
     253        # Login as portal manager
     254        self.browser.open(self.login_path)
     255        self.browser.getControl(name="form.login").value = 'mrportalmanager'
     256        self.browser.getControl(name="form.password").value = 'mrportalmanagersecret'
     257        self.browser.getControl("Login").click()
     258        self.prepare_applicant()
     259        self.browser.open(self.manage_path)
     260        self.browser.getControl(name="form.date_of_birth").value = '09/09/1988'
     261        self.browser.getControl(name="form.course_admitted").value = ['CERT1']
     262        self.browser.getControl("Save").click()
     263        IWorkflowState(self.applicant).setState('admitted')
     264        notify(grok.ObjectModifiedEvent(self.applicant))
     265        start = datetime.now()
     266        self.browser.open(self.root_path + '/createallstudents')
     267        self.assertTrue('1 students successfully created' in self.browser.contents)
     268        self.assertTrue((datetime.now() - start).seconds >= 10)
Note: See TracChangeset for help on using the changeset viewer.