from waeup.custom.testing import FunctionalLayer from waeup.sirp.students.tests.test_browser import StudentsFullSetup from waeup.custom.configuration import SessionConfiguration class StudentUITests(StudentsFullSetup): # Tests for customized student class views and pages layer = FunctionalLayer def test_manage_payments(self): # Add missing configuration data self.app['configuration']['2004'].gown_fee = 150 self.app['configuration']['2004'].transfer_fee = 90 self.app['configuration']['2004'].clearance_fee = 120 self.app['configuration']['2004'].maint_fee = 180 # Managers can add online payment tickets self.browser.addHeader('Authorization', 'Basic mgr:mgrpw') self.browser.open(self.payments_student_path) self.browser.getControl("Add online payment ticket").click() self.browser.getControl("Create ticket").click() self.assertMatches('...Amount could not be determined...', self.browser.contents) self.browser.open(self.manage_student_path) self.browser.getControl(name="transition").value = ['admit'] self.browser.getControl("Save").click() self.browser.getControl(name="transition").value = ['start_clearance'] self.browser.getControl("Save").click() self.browser.getControl(name="transition").value = ['request_clearance'] self.browser.getControl("Save").click() self.browser.getControl(name="transition").value = ['clear'] self.browser.getControl("Save").click() self.browser.open(self.payments_student_path + '/addop') self.browser.getControl("Create ticket").click() self.assertMatches('...ticket created...', self.browser.contents) self.browser.open(self.manage_student_path) self.browser.getControl( name="transition").value = ['pay_first_school_fee'] self.browser.getControl("Save").click() self.browser.getControl(name="transition").value = ['reset6'] self.browser.getControl("Save").click() self.browser.open(self.payments_student_path + '/addop') self.browser.getControl("Create ticket").click() self.assertMatches('...ticket created...', self.browser.contents) self.browser.open(self.payments_student_path + '/addop') self.browser.getControl(name="form.p_category").value = ['gown'] self.browser.getControl("Create ticket").click() self.browser.open(self.payments_student_path + '/addop') self.browser.getControl(name="form.p_category").value = ['transfer'] self.browser.getControl("Create ticket").click() self.browser.open(self.payments_student_path + '/addop') self.browser.getControl( name="form.p_category").value = ['bed_allocation'] self.browser.getControl("Create ticket").click() self.browser.open(self.payments_student_path + '/addop') self.browser.getControl( name="form.p_category").value = ['hostel_maintenance'] self.browser.getControl("Create ticket").click() self.browser.open(self.payments_student_path + '/addop') self.browser.getControl(name="form.p_category").value = ['clearance'] self.browser.getControl("Create ticket").click() self.certificate.study_mode = 'ug_pt' self.browser.open(self.payments_student_path + '/addop') self.browser.getControl(name="form.p_category").value = ['schoolfee'] self.browser.getControl("Create ticket").click() self.assertMatches('...Amount could not be determined...', self.browser.contents) # If the session configuration doesn't exist and error message will # be shown del self.app['configuration']['2004'] self.browser.open(self.payments_student_path) self.browser.getControl("Add online payment ticket").click() self.browser.getControl("Create ticket").click() self.assertMatches('...Session configuration object is not...', self.browser.contents)