Ignore:
Timestamp:
24 Apr 2014, 06:17:10 (11 years ago)
Author:
Henrik Bettermann
Message:

Special application procedure modified. Special applicants must submit
their form before they can download payment slips. Thus the regular
workflow is now applied but, in contrast to regular applications,
special applicants can create and pay more than one payment ticket.
Also application slips are hidden.

File:
1 edited

Legend:

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

    r11575 r11599  
    5555container_name_2 = u'app%s' % session_2
    5656
     57SAMPLE_IMAGE = os.path.join(os.path.dirname(__file__), 'test_image.jpg')
     58
    5759class ApplicantsFullSetup(FunctionalTestCase):
    5860    # A test case that only contains a setup and teardown
     
    976978            '<span>200.0</span>' in self.browser.contents)
    977979        self.assertEqual(len(self.special_applicant.keys()), 1)
    978         # The applicant's workflow remain started ...
     980        # The applicant's workflow state is paid ...
    979981        self.special_applicant.values()[0].approveApplicantPayment()
    980         self.assertEqual(self.special_applicant.state, 'started')
     982        self.assertEqual(self.special_applicant.state, 'paid')
    981983        self.browser.open(applicant_path + '/edit')
    982         # ... so that he can create further tickets.
     984        # ... but he can create further tickets.
    983985        self.browser.getControl(name="form.special_application").value = [
    984986            'clearance']
     
    991993            '<td>Acceptance Fee</td>' in self.browser.contents)
    992994        self.assertEqual(len(self.special_applicant.keys()), 2)
     995        # Second payment can also be approved wthout error message
     996        flashtype, msg, log = self.special_applicant.values()[1].approveApplicantPayment()
     997        self.assertEqual(flashtype, 'success')
     998        self.assertEqual(msg, 'Payment approved')
     999        # Payment slips can't be downloaded ...
     1000        payment_id = self.special_applicant.keys()[0]
     1001        self.browser.open(applicant_path + '/' + payment_id)
     1002        self.browser.getLink("Download payment slip").click()
     1003        self.assertTrue(
     1004            'Please pay and submit before trying to download payment slips.'
     1005            in self.browser.contents)
     1006        # ... unless form is submitted.
     1007        self.browser.open(applicant_path + '/edit')
     1008        image = open(SAMPLE_IMAGE, 'rb')
     1009        ctrl = self.browser.getControl(name='form.passport')
     1010        file_ctrl = ctrl.mech_control
     1011        file_ctrl.add_file(image, filename='myphoto.jpg')
     1012        self.browser.getControl(name="confirm_passport").value = True
     1013        self.browser.getControl("Final Submit").click()
     1014        self.browser.open(applicant_path + '/' + payment_id)
     1015        self.browser.getLink("Download payment slip").click()
     1016        self.assertEqual(self.browser.headers['Content-Type'],
     1017                 'application/pdf')
    9931018        return
    9941019
     
    10221047        self.assertTrue(
    10231048            'No passport picture uploaded' in self.browser.contents)
    1024         # Create a pseudo image file and select it to be uploaded in form
    1025         pseudo_image = StringIO('I pretend to be a graphics file')
     1049        # Use a real image file and select it to be uploaded in form
     1050        image = open(SAMPLE_IMAGE, 'rb')
    10261051        ctrl = self.browser.getControl(name='form.passport')
    10271052        file_ctrl = ctrl.mech_control
    1028         file_ctrl.add_file(pseudo_image, filename='myphoto.jpg')
     1053        file_ctrl.add_file(image, filename='myphoto.jpg')
    10291054        self.browser.getControl("Final Submit").click() # (finally) submit form
    10301055        # The picture has been uploaded but the form cannot be submitted
Note: See TracChangeset for help on using the changeset viewer.