- Timestamp:
- 4 Sep 2012, 07:09:29 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.futminna/trunk/src/waeup/futminna/students/tests/test_browser.py
r8981 r9155 70 70 layer = FunctionalLayer 71 71 72 def test_manage_payments(self):73 # Add missing configuration data74 self.app['configuration']['2004'].gown_fee = 150.075 self.app['configuration']['2004'].transfer_fee = 90.076 #self.app['configuration']['2004'].clearance_fee = 120.077 self.app['configuration']['2004'].booking_fee = 150.078 self.app['configuration']['2004'].maint_fee = 180.079 80 # Managers can add online payment tickets81 self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')82 self.browser.open(self.payments_path)83 self.browser.getControl("Add online payment ticket").click()84 self.browser.getControl("Create ticket").click()85 self.assertMatches('...Amount could not be determined...',86 self.browser.contents)87 IWorkflowState(self.student).setState('cleared')88 self.browser.open(self.payments_path + '/addop')89 self.browser.getControl("Create ticket").click()90 self.assertMatches('...ticket created...',91 self.browser.contents)92 ctrl = self.browser.getControl(name='val_id')93 value = ctrl.options[0]94 self.browser.getLink(value).click()95 self.assertMatches('...Amount Authorized...',96 self.browser.contents)97 # Managers can open payment slip98 self.browser.getLink("Download payment slip").click()99 self.assertEqual(self.browser.headers['Status'], '200 Ok')100 self.assertEqual(self.browser.headers['Content-Type'], 'application/pdf')101 # Set ticket paid102 ticket = self.student['payments'].items()[0][1]103 ticket.p_state = 'paid'104 self.browser.open(self.payments_path + '/addop')105 self.browser.getControl("Create ticket").click()106 self.assertMatches('...This type of payment has already been made...',107 self.browser.contents)108 # Remove all payments so that we can add a school fee payment again109 keys = [i for i in self.student['payments'].keys()]110 for payment in keys:111 del self.student['payments'][payment]112 self.browser.open(self.payments_path + '/addop')113 self.browser.getControl("Create ticket").click()114 self.assertMatches('...ticket created...',115 self.browser.contents)116 self.browser.open(self.payments_path + '/addop')117 self.browser.getControl(name="form.p_category").value = ['gown']118 self.browser.getControl("Create ticket").click()119 self.assertMatches('...ticket created...',120 self.browser.contents)121 self.browser.open(self.payments_path + '/addop')122 self.browser.getControl(name="form.p_category").value = ['transfer']123 self.browser.getControl("Create ticket").click()124 self.assertMatches('...ticket created...',125 self.browser.contents)126 self.browser.open(self.payments_path + '/addop')127 self.browser.getControl(128 name="form.p_category").value = ['bed_allocation']129 self.browser.getControl("Create ticket").click()130 self.assertMatches('...ticket created...',131 self.browser.contents)132 self.browser.open(self.payments_path + '/addop')133 self.browser.getControl(134 name="form.p_category").value = ['hostel_maintenance']135 self.browser.getControl("Create ticket").click()136 self.assertMatches('...ticket created...',137 self.browser.contents)138 self.browser.open(self.payments_path + '/addop')139 self.browser.getControl(name="form.p_category").value = ['clearance']140 self.browser.getControl("Create ticket").click()141 self.assertMatches('...ticket created...',142 self.browser.contents)143 self.browser.open(self.payments_path + '/addop')144 self.browser.getControl(name="form.p_category").value = ['schoolfee']145 self.browser.getControl("Create ticket").click()146 self.assertMatches('...ticket created...',147 self.browser.contents)148 # In state returning we can add a new school fee ticket since149 # p_session and p_level is different150 IWorkflowState(self.student).setState('returning')151 self.browser.open(self.payments_path + '/addop')152 self.browser.getControl(name="form.p_category").value = ['schoolfee']153 self.browser.getControl("Create ticket").click()154 self.assertMatches('...Session configuration object is not...',155 self.browser.contents)156 # Uups, we forgot to add a session configuration for next session157 configuration = createObject('waeup.SessionConfiguration')158 configuration.academic_session = 2005159 self.app['configuration'].addSessionConfiguration(configuration)160 self.browser.open(self.payments_path + '/addop')161 self.browser.getControl(name="form.p_category").value = ['schoolfee']162 self.browser.getControl("Create ticket").click()163 self.assertMatches('...ticket created...',164 self.browser.contents)165 # In state admitted school fee can't be determined166 IWorkflowState(self.student).setState('admitted')167 self.browser.open(self.payments_path + '/addop')168 self.browser.getControl(name="form.p_category").value = ['schoolfee']169 self.browser.getControl("Create ticket").click()170 self.assertMatches('...Amount could not be determined...',171 self.browser.contents)172 173 # If the session configuration doesn't exist an error message will174 # be shown. No other requirement is being checked.175 del self.app['configuration']['2004']176 self.browser.open(self.payments_path)177 self.browser.getControl("Add online payment ticket").click()178 self.browser.getControl("Create ticket").click()179 self.assertMatches('...Session configuration object is not...',180 self.browser.contents)181 182 72 def test_get_returning_data(self): 183 73 # Student is in level 100, session 2004 with verdict A … … 189 79 self.assertEqual(utils.getReturningData(self.student),(2005, 100)) 190 80 return 191 192 def test_set_payment_details(self):193 self.app['configuration']['2004'].gown_fee = 150.0194 self.app['configuration']['2004'].transfer_fee = 90.0195 self.app['configuration']['2004'].booking_fee = 150.0196 self.app['configuration']['2004'].maint_fee = 180.0197 utils = getUtility(IStudentsUtils)198 199 configuration = createObject('waeup.SessionConfiguration')200 configuration.academic_session = 2005201 self.app['configuration'].addSessionConfiguration(configuration)202 203 error, payment = utils.setPaymentDetails('schoolfee',self.student)204 self.assertEqual(payment, None)205 self.assertEqual(error, u'Amount could not be determined.')206 207 IWorkflowState(self.student).setState('cleared')208 error, payment = utils.setPaymentDetails('schoolfee',self.student)209 self.assertEqual(payment.p_level, 100)210 self.assertEqual(payment.p_session, 2004)211 self.assertEqual(payment.amount_auth, 40000.0)212 self.assertEqual(payment.p_item, u'CERT1')213 self.assertEqual(error, None)214 215 # Add penalty fee ...216 # ... for cleared217 self.app['configuration']['2004'].penalty_ug = 99.0218 # ... for returning219 self.app['configuration']['2005'].penalty_ug = 88.0220 error, payment = utils.setPaymentDetails('schoolfee',self.student)221 self.assertEqual(payment.amount_auth, 40099.0)222 223 IWorkflowState(self.student).setState('returning')224 error, payment = utils.setPaymentDetails('schoolfee',self.student)225 self.assertEqual(payment.p_level, 200)226 self.assertEqual(payment.p_session, 2005)227 self.assertEqual(payment.amount_auth, 20088.0)228 self.assertEqual(payment.p_item, u'CERT1')229 self.assertEqual(error, None)230 231 error, payment = utils.setPaymentDetails('clearance',self.student)232 self.assertEqual(payment.p_level, 100)233 self.assertEqual(payment.p_session, 2004)234 self.assertEqual(payment.amount_auth, 34250.0)235 self.assertEqual(payment.p_item, u'CERT1')236 self.assertEqual(error, None)237 238 error, payment = utils.setPaymentDetails('gown',self.student)239 self.assertEqual(payment.p_level, 100)240 self.assertEqual(payment.p_session, 2004)241 self.assertEqual(payment.amount_auth, 150.0)242 self.assertEqual(payment.p_item, u'')243 self.assertEqual(error, None)244 245 error, payment = utils.setPaymentDetails('hostel_maintenance',self.student)246 self.assertEqual(payment.p_level, 100)247 self.assertEqual(payment.p_session, 2004)248 self.assertEqual(payment.amount_auth, 180.0)249 self.assertEqual(payment.p_item, u'')250 self.assertEqual(error, None)251 252 error, payment = utils.setPaymentDetails('bed_allocation',self.student)253 self.assertEqual(payment.p_level, 100)254 self.assertEqual(payment.p_session, 2004)255 self.assertEqual(payment.amount_auth, 150.0)256 self.assertEqual(payment.p_item, u'')257 self.assertEqual(error, None)258 259 error, payment = utils.setPaymentDetails('transfer',self.student)260 self.assertEqual(payment.p_level, 100)261 self.assertEqual(payment.p_session, 2004)262 self.assertEqual(payment.amount_auth, 90.0)263 self.assertEqual(payment.p_item, u'')264 self.assertEqual(error, None)265 return
Note: See TracChangeset for help on using the changeset viewer.