Ignore:
Timestamp:
6 Sep 2018, 11:16:55 (6 years ago)
Author:
Henrik Bettermann
Message:

Extend transcript workflow (par 1)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/students/tests/test_browser.py

    r15055 r15128  
    4141from waeup.kofa.testing import FunctionalLayer, FunctionalTestCase
    4242from waeup.kofa.app import University
     43from waeup.kofa.interfaces import IFileStoreNameChooser, IExtFileStore
    4344from waeup.kofa.payments.interfaces import IPayer
    4445from waeup.kofa.students.payments import StudentOnlinePayment
     
    21192120        print "Sample PDF transcript.pdf written to %s" % path
    21202121
    2121     def test_process_transcript_request(self):
     2122    def test_release_transcript(self):
    21222123        IWorkflowState(self.student).setState('transcript requested')
    21232124        notify(grok.ObjectModifiedEvent(self.student))
     
    21432144            '...<div>Transcript Officer</div>...',
    21442145            self.browser.contents)
    2145         # Officer can search for students in state 'transcripr requested'
     2146        # Officer can search for students in state 'transcript requested'
    21462147        self.browser.open(self.container_path)
    21472148        self.browser.getControl(name="searchtype").value = ['transcript']
     
    21492150        self.assertTrue('Anna Tester' in self.browser.contents)
    21502151        self.browser.getLink("K1000000").click()
    2151         self.browser.getLink("Manage transcript request").click()
     2152        self.assertFalse('Release transcript request' in self.browser.contents)
     2153        # ToDo: Somebody has to validate the transcript
     2154
     2155
     2156
     2157        IWorkflowState(self.student).setState('transcript validated')
     2158
     2159
     2160
     2161        self.browser.open(self.student_path)
     2162        self.assertTrue('Release transcript' in self.browser.contents)
     2163        # Now the transcript can be released.
     2164        self.browser.getLink("Release transcript").click()
    21522165        self.assertTrue(' UTC K1000000 wrote:<br><br>Comment line 1 <br>'
    21532166        'Comment line2<br><br>Dispatch Address:<br>Address line 1 <br>'
     
    21552168        self.browser.getControl(name="comment").value = (
    21562169            'Hello,\nYour transcript has been sent to the address provided.')
    2157         self.browser.getControl("Save comment and mark as processed").click()
     2170        self.browser.getControl("Save comment and mark as released").click()
    21582171        self.assertTrue(
    21592172            'UTC mrtranscript wrote:\n\nHello,\nYour transcript has '
     
    21652178        logcontent = open(logfile).read()
    21662179        self.assertTrue(
    2167             'mrtranscript - students.browser.StudentTranscriptRequestProcessFormPage - '
     2180            'mrtranscript - students.browser.StudentTranscriptReleasesFormPage - '
    21682181            'K1000000 - comment: Hello,<br>'
    21692182            'Your transcript has been sent to the address provided'
    21702183            in logcontent)
     2184        # File has been stored in the file system
     2185        # Check if transcript exists in the file system and is a PDF file
     2186        storage = getUtility(IExtFileStore)
     2187        file_id = IFileStoreNameChooser(
     2188            self.student).chooseName(attr='transcript.pdf')
     2189        pdf = storage.getFile(file_id).read()
     2190        self.assertTrue(len(pdf) > 0)
     2191        self.assertEqual(pdf[:8], '%PDF-1.4')
     2192        # Copy the file to samples_dir
     2193        path = os.path.join(samples_dir(), 'final_transcript.pdf')
     2194        open(path, 'wb').write(pdf)
     2195        print "Sample PDF final_transcript.pdf written to %s" % path
     2196        # Check if there is an transcript pdf link in UI
     2197        self.browser.open(self.student_path)
     2198        self.assertTrue('Final Transcript' in self.browser.contents)
     2199        self.browser.getLink("Final Transcript").click()
     2200        self.assertEqual(self.browser.headers['Status'], '200 Ok')
     2201        self.assertEqual(self.browser.headers['Content-Type'],
     2202                         'application/pdf')
    21712203
    21722204class StudentUITests(StudentsFullSetup):
Note: See TracChangeset for help on using the changeset viewer.