Ignore:
Timestamp:
25 Mar 2019, 17:59:03 (5 years ago)
Author:
Henrik Bettermann
Message:

Implement a library access switch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.uniben/trunk/src/waeup/uniben/students/tests/test_browser.py

    r15352 r15371  
    4141    IExtFileStore, IFileStoreNameChooser)
    4242from waeup.kofa.students.interfaces import IStudentsUtils
     43from waeup.kofa.tests.test_authentication import SECRET
    4344from waeup.uniben.testing import FunctionalLayer
    4445
    4546SAMPLE_FPM = os.path.join(os.path.dirname(__file__), 'sample.fpm')
     47
     48class OfficerUITests(StudentsFullSetup):
     49    # Tests for Student class views and pages
     50
     51    layer = FunctionalLayer
     52
     53    def test_jhl_idcard_officer(self):
     54        # Create library officer
     55        self.app['users'].addUser('mrlibrary', SECRET)
     56        self.app['users']['mrlibrary'].email = 'library@foo.ng'
     57        self.app['users']['mrlibrary'].title = 'Carlo Pitter'
     58        prmglobal = IPrincipalRoleManager(self.app)
     59        prmglobal.assignRoleToPrincipal(
     60            'waeup.LibraryClearanceOfficer', 'mrlibrary')
     61        prmglobal.assignRoleToPrincipal(
     62            'waeup.StudentsOfficer', 'mrlibrary')
     63        self.browser.open(self.login_path)
     64        self.browser.getControl(name="form.login").value = 'mrlibrary'
     65        self.browser.getControl(name="form.password").value = SECRET
     66        self.browser.getControl("Login").click()
     67        self.assertMatches('...You logged in...', self.browser.contents)
     68        self.browser.open(self.student_path)
     69        self.assertFalse('JHL' in self.browser.contents)
     70        self.browser.getLink("Switch library access").click()
     71        self.assertTrue('Library access enabled' in self.browser.contents)
     72        self.assertTrue('JHL' in self.browser.contents)
     73        self.browser.getLink("Download JHL Id Card").click()
     74        self.assertEqual(self.browser.headers['Status'], '200 Ok')
     75        self.assertEqual(self.browser.headers['Content-Type'], 'application/pdf')
     76        path = os.path.join(samples_dir(), 'jhl_idcard_officer.pdf')
     77        open(path, 'wb').write(self.browser.contents)
     78        print "Sample PDF jhl_idcard_officer.pdf written to %s" % path
    4679
    4780class StudentUITests(StudentsFullSetup):
     
    219252        self.browser.getControl(name="form.password").value = 'spwd'
    220253        self.browser.getControl("Login").click()
     254        self.assertFalse('JHL' in self.browser.contents)
     255        self.student.library = True
     256        self.browser.open(self.student_path)
     257        self.assertTrue('JHL' in self.browser.contents)
    221258        self.browser.getLink("Download JHL Id Card").click()
    222259        self.assertEqual(self.browser.headers['Status'], '200 Ok')
    223260        self.assertEqual(self.browser.headers['Content-Type'], 'application/pdf')
    224         path = os.path.join(samples_dir(), 'jhl_idcard.pdf')
     261        path = os.path.join(samples_dir(), 'jhl_idcard_student.pdf')
    225262        open(path, 'wb').write(self.browser.contents)
    226         print "Sample PDF jhl_idcard.pdf written to %s" % path
     263        print "Sample PDF jhl_idcard_student.pdf written to %s" % path
    227264
    228265    def test_jupeb_result_slip(self):
Note: See TracChangeset for help on using the changeset viewer.