Changeset 9209 for main/waeup.kofa/branches/uli-zc-async/src/waeup/kofa/students/tests/test_browser.py
- Timestamp:
- 20 Sep 2012, 08:49:37 (12 years ago)
- Location:
- main/waeup.kofa/branches/uli-zc-async
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/branches/uli-zc-async
- Property svn:mergeinfo changed
-
main/waeup.kofa/branches/uli-zc-async/src/waeup/kofa/students/tests/test_browser.py
r8779 r9209 118 118 self.manage_clearance_path = self.student_path + '/manage_clearance' 119 119 self.edit_personal_path = self.student_path + '/edit_personal' 120 self.manage_personal_path = self.student_path + '/manage_personal' 120 121 self.studycourse_path = self.student_path + '/studycourse' 121 122 self.payments_path = self.student_path + '/payments' … … 170 171 self.app['faculties']['fac1']['dep1'].courses.addCourse( 171 172 self.course) 172 self.app['faculties']['fac1']['dep1'].certificates['CERT1'].addC ourseRef(173 self.app['faculties']['fac1']['dep1'].certificates['CERT1'].addCertCourse( 173 174 self.course, level=100) 174 175 … … 403 404 layer = FunctionalLayer 404 405 406 def test_student_properties(self): 407 self.student['studycourse'].current_level = 100 408 self.assertEqual(self.student.current_level, 100) 409 self.student['studycourse'].current_session = 2011 410 self.assertEqual(self.student.current_session, 2011) 411 self.student['studycourse'].current_verdict = 'A' 412 self.assertEqual(self.student.current_verdict, 'A') 413 return 414 405 415 def test_basic_auth(self): 406 416 self.browser.addHeader('Authorization', 'Basic mgr:mgrpw') … … 454 464 self.assertEqual(self.browser.headers['Status'], '200 Ok') 455 465 self.assertEqual(self.browser.url, self.personal_path) 466 self.browser.getLink("Manage").click() 467 self.assertEqual(self.browser.headers['Status'], '200 Ok') 468 self.assertEqual(self.browser.url, self.manage_personal_path) 469 self.browser.open(self.personal_path) 456 470 self.browser.getLink("Edit").click() 457 471 self.assertEqual(self.browser.headers['Status'], '200 Ok') … … 474 488 self.assertEqual(self.browser.headers['Status'], '200 Ok') 475 489 self.assertEqual(self.browser.url, self.history_path) 476 self.assertMatches('... Student admitted by Manager...',490 self.assertMatches('...Admitted by Manager...', 477 491 self.browser.contents) 478 492 # Only the Application Slip does not exist … … 754 768 self.assertEqual(student['studycourse'].current_session, 2005) # +1 755 769 self.assertEqual(student['studycourse'].current_level, 200) # +100 756 self.assertEqual(student['studycourse'].current_verdict, ' NY') # NY= not set770 self.assertEqual(student['studycourse'].current_verdict, '0') # 0 = Zero = not set 757 771 self.assertEqual(student['studycourse'].previous_verdict, 'A') 758 772 self.browser.getControl(name="transition").value = ['register_courses'] … … 762 776 self.browser.getControl(name="transition").value = ['return'] 763 777 self.browser.getControl("Save").click() 778 return 779 780 def test_manage_pg_workflow(self): 781 # Managers can pass through the whole workflow 782 IWorkflowState(self.student).setState('school fee paid') 783 self.browser.addHeader('Authorization', 'Basic mgr:mgrpw') 784 student = self.app['students'][self.student_id] 785 self.browser.open(self.manage_student_path) 786 self.assertTrue('<option value="reset6">' in self.browser.contents) 787 self.assertTrue('<option value="register_courses">' in self.browser.contents) 788 self.assertTrue('<option value="reset5">' in self.browser.contents) 789 self.certificate.study_mode = 'pg_ft' 790 self.browser.open(self.manage_student_path) 791 self.assertFalse('<option value="reset6">' in self.browser.contents) 792 self.assertFalse('<option value="register_courses">' in self.browser.contents) 793 self.assertTrue('<option value="reset5">' in self.browser.contents) 764 794 return 765 795 … … 776 806 self.browser.addHeader('Authorization', 'Basic mgr:mgrpw') 777 807 self.browser.open(datacenter_path) 778 self.browser.getLink('Upload CSV file').click()808 self.browser.getLink('Upload data').click() 779 809 filecontents = StringIO(open('students.csv', 'rb').read()) 780 810 filewidget = self.browser.getControl(name='uploadfile:file') 781 811 filewidget.add_file(filecontents, 'text/plain', 'students.csv') 782 812 self.browser.getControl(name='SUBMIT').click() 783 self.browser.getLink(' Batch processing').click()813 self.browser.getLink('Process data').click() 784 814 button = lookup_submit_value( 785 815 'select', 'students_zope.mgr.csv', self.browser) … … 802 832 """) 803 833 self.browser.open(datacenter_path) 804 self.browser.getLink('Upload CSV file').click()834 self.browser.getLink('Upload data').click() 805 835 filecontents = StringIO(open('studycourses.csv', 'rb').read()) 806 836 filewidget = self.browser.getControl(name='uploadfile:file') 807 837 filewidget.add_file(filecontents, 'text/plain', 'studycourses.csv') 808 838 self.browser.getControl(name='SUBMIT').click() 809 self.browser.getLink(' Batch processing').click()839 self.browser.getLink('Process data').click() 810 840 button = lookup_submit_value( 811 841 'select', 'studycourses_zope.mgr.csv', self.browser) … … 917 947 self.assertTrue('clearance started' in self.browser.contents) 918 948 self.browser.open(self.history_path) 919 self.assertTrue("Reset to 'clearance ' by My Public Name" in949 self.assertTrue("Reset to 'clearance started' by My Public Name" in 920 950 self.browser.contents) 921 951 IWorkflowInfo(self.student).fireTransition('request_clearance') … … 946 976 self.app['users'].addUser('mrsadvise', 'mrsadvisesecret') 947 977 self.app['users']['mrsadvise'].email = 'mradvise@foo.ng' 948 self.app['users']['mrsadvise'].title = 'Helen Procter'978 self.app['users']['mrsadvise'].title = u'Helen Procter' 949 979 # Assign local CourseAdviser100 role for a certificate 950 980 cert = self.app['faculties']['fac1']['dep1'].certificates['CERT1'] … … 997 1027 # the 100L CA does see the 'Validate' button 998 1028 self.browser.open(L110_student_path) 999 self.assertFalse('Validate ' in self.browser.contents)1029 self.assertFalse('Validate courses' in self.browser.contents) 1000 1030 IWorkflowInfo(self.student).fireTransition('register_courses') 1001 1031 self.browser.open(L110_student_path) 1002 self.assertFalse('Validate ' in self.browser.contents)1032 self.assertFalse('Validate courses' in self.browser.contents) 1003 1033 self.student['studycourse'].current_level = 110 1004 1034 self.browser.open(L110_student_path) 1005 self.assertTrue('Validate ' in self.browser.contents)1035 self.assertTrue('Validate courses' in self.browser.contents) 1006 1036 # ... but a 100L CA does not see the button on other levels 1007 1037 studylevel2 = StudentStudyLevel() … … 1011 1041 L200_student_path = self.studycourse_path + '/200' 1012 1042 self.browser.open(L200_student_path) 1013 self.assertFalse('Validate ' in self.browser.contents)1043 self.assertFalse('Validate courses' in self.browser.contents) 1014 1044 self.browser.open(L110_student_path) 1015 1045 self.browser.getLink("Validate courses").click() 1016 1046 self.assertTrue('Course list has been validated' in self.browser.contents) 1017 1047 self.assertTrue('courses validated' in self.browser.contents) 1048 self.assertEqual(self.student['studycourse']['110'].validated_by, 1049 'Helen Procter') 1050 self.assertMatches( 1051 '<YYYY-MM-DD hh:mm:ss>', 1052 self.student['studycourse']['110'].validation_date.strftime( 1053 "%Y-%m-%d %H:%M:%S")) 1018 1054 self.browser.getLink("Reject courses").click() 1019 1055 self.assertTrue('Course list request has been annulled.' … … 1023 1059 '/contactstudent?subject=%s' % urlmessage) 1024 1060 self.assertTrue('school fee paid' in self.browser.contents) 1061 self.assertTrue(self.student['studycourse']['110'].validated_by is None) 1062 self.assertTrue(self.student['studycourse']['110'].validation_date is None) 1025 1063 IWorkflowInfo(self.student).fireTransition('register_courses') 1026 1064 self.browser.open(L110_student_path) … … 1142 1180 # and can perform actions 1143 1181 IWorkflowInfo(self.student).fireTransition('admit') 1182 # Students can't login if their account is suspended/deactivated 1183 self.student.suspended = True 1144 1184 self.browser.open(self.login_path) 1145 1185 self.browser.getControl(name="form.login").value = self.student_id 1146 1186 self.browser.getControl(name="form.password").value = 'spwd' 1147 1187 self.browser.getControl("Login").click() 1148 # Student can upload a passport picture 1188 self.assertTrue( 1189 'Your account has been deactivated.' in self.browser.contents) 1190 self.student.suspended = False 1191 self.browser.getControl("Login").click() 1192 self.assertTrue( 1193 'You logged in.' in self.browser.contents) 1194 # Admitted student can upload a passport picture 1149 1195 self.browser.open(self.student_path + '/change_portrait') 1150 1196 ctrl = self.browser.getControl(name='passportuploadedit') … … 1157 1203 '<img align="middle" height="125px" src="passport.jpg" />' 1158 1204 in self.browser.contents) 1205 # Students can open admission letter 1206 self.browser.getLink("Base Data").click() 1207 self.browser.getLink("Download admission letter").click() 1208 self.assertEqual(self.browser.headers['Status'], '200 Ok') 1209 self.assertEqual(self.browser.headers['Content-Type'], 'application/pdf') 1159 1210 # Student can view the clearance data 1211 self.browser.open(self.student_path) 1160 1212 self.browser.getLink("Clearance Data").click() 1161 1213 # Student can't open clearance edit form before starting clearance … … 1170 1222 self.assertMatches('...Not all required fields filled...', 1171 1223 self.browser.contents) 1172 self.student.email = 'aa@aa.ng' 1224 self.browser.open(self.student_path + '/edit_base') 1225 self.browser.getControl(name="form.email").value = 'aa@aa.ng' 1226 self.browser.getControl("Save").click() 1173 1227 self.browser.open(self.student_path + '/start_clearance') 1174 1228 self.browser.getControl(name="ac_series").value = '3' … … 1185 1239 # Set the correct owner 1186 1240 self.existing_clrac.owner = self.student_id 1241 # clr_code might be set (and thus returns None) due importing 1242 # an empty clr_code column. 1243 self.student.clr_code = None 1187 1244 self.browser.getControl("Start clearance now").click() 1188 1245 self.assertMatches('...Clearance process has been started...', … … 1235 1292 self.browser.getControl("Create course list now").click() 1236 1293 self.browser.getLink("100").click() 1237 self.browser.getLink(" Add and remove courses").click()1294 self.browser.getLink("Edit course list").click() 1238 1295 self.browser.getControl("Add course ticket").click() 1239 1296 self.browser.getControl(name="form.course").value = ['COURSE1'] … … 1248 1305 self.browser.getControl("Create course list now").click() 1249 1306 self.browser.getLink("200").click() 1250 self.browser.getLink(" Add and remove courses").click()1307 self.browser.getLink("Edit course list").click() 1251 1308 self.browser.getControl("Add course ticket").click() 1252 1309 self.browser.getControl(name="form.course").value = ['COURSE1'] … … 1286 1343 self.assertEqual(self.student.state, 'courses registered') 1287 1344 return 1345 1346 def test_student_clearance_wo_clrcode(self): 1347 IWorkflowState(self.student).setState('clearance started') 1348 self.browser.open(self.login_path) 1349 self.browser.getControl(name="form.login").value = self.student_id 1350 self.browser.getControl(name="form.password").value = 'spwd' 1351 self.browser.getControl("Login").click() 1352 self.student.clearance_locked = False 1353 self.browser.open(self.edit_clearance_path) 1354 self.browser.getControl(name="form.date_of_birth").value = '09/10/1961' 1355 self.browser.getControl("Save and request clearance").click() 1356 self.assertMatches('...Clearance has been requested...', 1357 self.browser.contents) 1288 1358 1289 1359 def test_manage_payments(self): … … 1516 1586 # The new SFE-0 pin can be used for starting new session 1517 1587 self.browser.open(self.studycourse_path) 1518 self.browser.getLink('Start session').click()1588 self.browser.getLink('Start new session').click() 1519 1589 pin = self.app['accesscodes']['SFE-0'].keys()[0] 1520 1590 parts = pin.split('-')[1:] … … 1528 1598 return 1529 1599 1530 def test_postgraduate_payments(self): 1600 def test_student_previous_payments(self): 1601 configuration = createObject('waeup.SessionConfiguration') 1602 configuration.academic_session = 2000 1603 configuration.clearance_fee = 3456.0 1604 configuration.booking_fee = 123.4 1605 self.student['studycourse'].entry_session = 2002 1606 self.app['configuration'].addSessionConfiguration(configuration) 1607 configuration2 = createObject('waeup.SessionConfiguration') 1608 configuration2.academic_session = 2003 1609 configuration2.clearance_fee = 3456.0 1610 configuration2.booking_fee = 123.4 1611 self.student['studycourse'].entry_session = 2002 1612 self.app['configuration'].addSessionConfiguration(configuration2) 1613 # Login 1614 self.browser.open(self.login_path) 1615 self.browser.getControl(name="form.login").value = self.student_id 1616 self.browser.getControl(name="form.password").value = 'spwd' 1617 self.browser.getControl("Login").click() 1618 1619 # Students can add previous school fee payment tickets in any state. 1620 IWorkflowState(self.student).setState('courses registered') 1621 self.browser.open(self.payments_path) 1622 self.browser.getControl("Add online payment ticket").click() 1623 self.browser.getControl(name="form.p_category").value = ['schoolfee'] 1624 self.browser.getControl("Create ticket").click() 1625 1626 # Amount cannot be determined since the state is not 1627 # 'cleared' or 'returning' 1628 self.assertMatches('...Amount could not be determined...', 1629 self.browser.contents) 1630 self.assertMatches('...Would you like to pay for a previous session?...', 1631 self.browser.contents) 1632 1633 # Previous session payment form is provided 1634 self.browser.getControl(name="form.p_category").value = ['schoolfee'] 1635 self.browser.getControl(name="form.p_session").value = ['2000'] 1636 self.browser.getControl(name="form.p_level").value = ['300'] 1637 self.browser.getControl("Create ticket").click() 1638 self.assertMatches('...The previous session must not fall below...', 1639 self.browser.contents) 1640 self.browser.getControl(name="form.p_category").value = ['schoolfee'] 1641 self.browser.getControl(name="form.p_session").value = ['2004'] 1642 self.browser.getControl(name="form.p_level").value = ['300'] 1643 self.browser.getControl("Create ticket").click() 1644 self.assertMatches('...This is not a previous session...', 1645 self.browser.contents) 1646 self.browser.getControl(name="form.p_category").value = ['schoolfee'] 1647 self.browser.getControl(name="form.p_session").value = ['2003'] 1648 self.browser.getControl(name="form.p_level").value = ['300'] 1649 self.browser.getControl("Create ticket").click() 1650 self.assertMatches('...ticket created...', 1651 self.browser.contents) 1652 ctrl = self.browser.getControl(name='val_id') 1653 value = ctrl.options[0] 1654 self.browser.getLink(value).click() 1655 self.assertMatches('...Amount Authorized...', 1656 self.browser.contents) 1657 self.assertEqual(self.student['payments'][value].amount_auth, 20000.0) 1658 1659 # Payment session is properly set 1660 self.assertEqual(self.student['payments'][value].p_session, 2003) 1661 self.assertEqual(self.student['payments'][value].p_level, 300) 1662 1663 # We simulate the approval 1664 self.browser.open(self.browser.url + '/fake_approve') 1665 self.assertMatches('...Payment approved...', 1666 self.browser.contents) 1667 1668 # No AC has been created 1669 self.assertEqual(len(self.app['accesscodes']['SFE-0'].keys()), 0) 1670 self.assertTrue(self.student['payments'][value].ac is None) 1671 1672 # Current payment flag is set False 1673 self.assertFalse(self.student['payments'][value].p_current) 1674 return 1675 1676 def test_student_postgraduate_payments(self): 1531 1677 self.certificate.study_mode = 'pg_ft' 1532 1678 self.certificate.start_level = 999 … … 1552 1698 self.browser.contents) 1553 1699 # Payment session and level are current ones. 1554 # Postgrads have to school_fee_1.1700 # Postgrads have to pay school_fee_1. 1555 1701 self.assertEqual(self.student['payments'][value].amount_auth, 40000.0) 1556 1702 self.assertEqual(self.student['payments'][value].p_session, 2004) … … 1565 1711 # The new SFE-0 pin can be used for starting session 1566 1712 self.browser.open(self.studycourse_path) 1567 self.browser.getLink('Start session').click()1713 self.browser.getLink('Start new session').click() 1568 1714 pin = self.app['accesscodes']['SFE-0'].keys()[0] 1569 1715 parts = pin.split('-')[1:] … … 1605 1751 # The new SFE-1 pin can be used for starting new session 1606 1752 self.browser.open(self.studycourse_path) 1607 self.browser.getLink('Start session').click()1753 self.browser.getLink('Start new session').click() 1608 1754 self.browser.getControl(name="ac_series").value = sfeseries 1609 1755 self.browser.getControl(name="ac_number").value = sfenumber … … 1847 1993 self.browser.getControl(name="form.identifier").value = '123' 1848 1994 self.browser.getControl(name="form.email").value = 'aa@aa.ng' 1849 self.browser.getControl(" Getlogin credentials").click()1995 self.browser.getControl("Send login credentials").click() 1850 1996 self.assertTrue('An email with' in self.browser.contents) 1851 1852 def test_reindex(self):1853 self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')1854 self.browser.open('http://localhost/app/reindex')1855 self.assertTrue('No catalog name provided' in self.browser.contents)1856 self.browser.open('http://localhost/app/reindex?ctlg=xyz')1857 self.assertTrue('xyz_catalog does not exist' in self.browser.contents)1858 cat = queryUtility(ICatalog, name='students_catalog')1859 results = cat.searchResults(student_id=(None, None))1860 self.assertEqual(len(results),1)1861 cat.clear()1862 results = cat.searchResults(student_id=(None, None))1863 self.assertEqual(len(results),0)1864 self.browser.open('http://localhost/app/reindex?ctlg=students')1865 self.assertTrue('1 students re-indexed' in self.browser.contents)1866 results = cat.searchResults(student_id=(None, None))1867 self.assertEqual(len(results),1)1868 1997 1869 1998 def test_change_current_mode(self): … … 1888 2017 self.assertTrue('Employer' in self.browser.contents) 1889 2018 2019 def test_activate_deactivate_buttons(self): 2020 self.browser.addHeader('Authorization', 'Basic mgr:mgrpw') 2021 self.browser.open(self.student_path) 2022 self.browser.getLink("Deactivate").click() 2023 self.assertTrue( 2024 'Student account has been deactivated.' in self.browser.contents) 2025 self.assertTrue( 2026 'Base Data (account deactivated)' in self.browser.contents) 2027 self.assertTrue(self.student.suspended) 2028 self.browser.getLink("Activate").click() 2029 self.assertTrue( 2030 'Student account has been activated.' in self.browser.contents) 2031 self.assertFalse( 2032 'Base Data (account deactivated)' in self.browser.contents) 2033 self.assertFalse(self.student.suspended) 2034 # History messages have been added ... 2035 self.browser.getLink("History").click() 2036 self.assertTrue( 2037 'Student account deactivated by Manager<br />' in self.browser.contents) 2038 self.assertTrue( 2039 'Student account activated by Manager<br />' in self.browser.contents) 2040 # ... and actions have been logged. 2041 logfile = os.path.join( 2042 self.app['datacenter'].storage, 'logs', 'students.log') 2043 logcontent = open(logfile).read() 2044 self.assertTrue('zope.mgr - students.browser.StudentDeactivatePage - ' 2045 'K1000000 - account deactivated' in logcontent) 2046 self.assertTrue('zope.mgr - students.browser.StudentActivatePage - ' 2047 'K1000000 - account activated' in logcontent) 2048 2049 def test_student_transfer(self): 2050 # Add second certificate 2051 self.certificate2 = createObject('waeup.Certificate') 2052 self.certificate2.code = u'CERT2' 2053 self.certificate2.study_mode = 'ug_ft' 2054 self.certificate2.start_level = 999 2055 self.certificate2.end_level = 999 2056 self.app['faculties']['fac1']['dep1'].certificates.addCertificate( 2057 self.certificate2) 2058 2059 # Add study level to old study course 2060 studylevel = createObject(u'waeup.StudentStudyLevel') 2061 studylevel.level = 200 2062 self.student['studycourse'].addStudentStudyLevel( 2063 self.certificate, studylevel) 2064 2065 self.browser.addHeader('Authorization', 'Basic mgr:mgrpw') 2066 self.browser.open(self.student_path) 2067 self.browser.getLink("Transfer").click() 2068 self.browser.getControl(name="form.certificate").value = ['CERT2'] 2069 self.browser.getControl(name="form.current_session").value = ['2011'] 2070 self.browser.getControl(name="form.current_level").value = ['200'] 2071 self.browser.getControl("Transfer").click() 2072 self.assertTrue( 2073 'Current level does not match certificate levels' 2074 in self.browser.contents) 2075 self.browser.getControl(name="form.current_level").value = ['999'] 2076 self.browser.getControl("Transfer").click() 2077 self.assertTrue('Successfully transferred' in self.browser.contents) 2078 2079 # Add study level to new study course 2080 studylevel = createObject(u'waeup.StudentStudyLevel') 2081 studylevel.level = 200 2082 self.student['studycourse'].addStudentStudyLevel( 2083 self.certificate, studylevel) 2084 2085 # Edit and add pages are locked for old study courses 2086 self.browser.open(self.student_path + '/studycourse/manage') 2087 self.assertFalse('The requested form is locked' in self.browser.contents) 2088 self.browser.open(self.student_path + '/studycourse_1/manage') 2089 self.assertTrue('The requested form is locked' in self.browser.contents) 2090 2091 self.browser.open(self.student_path + '/studycourse/start_session') 2092 self.assertFalse('The requested form is locked' in self.browser.contents) 2093 self.browser.open(self.student_path + '/studycourse_1/start_session') 2094 self.assertTrue('The requested form is locked' in self.browser.contents) 2095 2096 IWorkflowState(self.student).setState('school fee paid') 2097 self.browser.open(self.student_path + '/studycourse/add') 2098 self.assertFalse('The requested form is locked' in self.browser.contents) 2099 self.browser.open(self.student_path + '/studycourse_1/add') 2100 self.assertTrue('The requested form is locked' in self.browser.contents) 2101 2102 self.browser.open(self.student_path + '/studycourse/200/manage') 2103 self.assertFalse('The requested form is locked' in self.browser.contents) 2104 self.browser.open(self.student_path + '/studycourse_1/200/manage') 2105 self.assertTrue('The requested form is locked' in self.browser.contents) 2106 2107 self.browser.open(self.student_path + '/studycourse/200/validate_courses') 2108 self.assertFalse('The requested form is locked' in self.browser.contents) 2109 self.browser.open(self.student_path + '/studycourse_1/200/validate_courses') 2110 self.assertTrue('The requested form is locked' in self.browser.contents) 2111 2112 self.browser.open(self.student_path + '/studycourse/200/reject_courses') 2113 self.assertFalse('The requested form is locked' in self.browser.contents) 2114 self.browser.open(self.student_path + '/studycourse_1/200/reject_courses') 2115 self.assertTrue('The requested form is locked' in self.browser.contents) 2116 2117 self.browser.open(self.student_path + '/studycourse/200/add') 2118 self.assertFalse('The requested form is locked' in self.browser.contents) 2119 self.browser.open(self.student_path + '/studycourse_1/200/add') 2120 self.assertTrue('The requested form is locked' in self.browser.contents) 2121 2122 self.browser.open(self.student_path + '/studycourse/200/edit') 2123 self.assertFalse('The requested form is locked' in self.browser.contents) 2124 self.browser.open(self.student_path + '/studycourse_1/200/edit') 2125 self.assertTrue('The requested form is locked' in self.browser.contents) 2126 1890 2127 class StudentRequestPWTests(StudentsFullSetup): 1891 2128 # Tests for student registration … … 1894 2131 1895 2132 def test_request_pw(self): 1896 # Student with wrong reg_number can't be found.2133 # Student with wrong number can't be found. 1897 2134 self.browser.open('http://localhost/app/requestpw') 1898 2135 self.browser.getControl(name="form.firstname").value = 'Anna' 1899 self.browser.getControl(name="form. reg_number").value = 'anynumber'2136 self.browser.getControl(name="form.number").value = 'anynumber' 1900 2137 self.browser.getControl(name="form.email").value = 'xx@yy.zz' 1901 self.browser.getControl(" Getlogin credentials").click()2138 self.browser.getControl("Send login credentials").click() 1902 2139 self.assertTrue('No student record found.' 1903 2140 in self.browser.contents) … … 1906 2143 self.browser.open('http://localhost/app/requestpw') 1907 2144 self.browser.getControl(name="form.firstname").value = 'Johnny' 1908 self.browser.getControl(name="form. reg_number").value = '123'2145 self.browser.getControl(name="form.number").value = '123' 1909 2146 self.browser.getControl(name="form.email").value = 'xx@yy.zz' 1910 self.browser.getControl(" Getlogin credentials").click()2147 self.browser.getControl("Send login credentials").click() 1911 2148 self.assertTrue('No student record found.' 1912 2149 in self.browser.contents) … … 1914 2151 # password has been set and used. 1915 2152 self.browser.getControl(name="form.firstname").value = 'Anna' 1916 self.browser.getControl(name="form. reg_number").value = '123'1917 self.browser.getControl(" Getlogin credentials").click()2153 self.browser.getControl(name="form.number").value = '123' 2154 self.browser.getControl("Send login credentials").click() 1918 2155 self.assertTrue('Your password has already been set and used.' 1919 2156 in self.browser.contents) … … 1922 2159 # The firstname field, used for verification, is not case-sensitive. 1923 2160 self.browser.getControl(name="form.firstname").value = 'aNNa' 1924 self.browser.getControl(name="form. reg_number").value = '123'2161 self.browser.getControl(name="form.number").value = '123' 1925 2162 self.browser.getControl(name="form.email").value = 'new@yy.zz' 1926 self.browser.getControl(" Getlogin credentials").click()2163 self.browser.getControl("Send login credentials").click() 1927 2164 # Yeah, we succeded ... 2165 self.assertTrue('Your password request was successful.' 2166 in self.browser.contents) 2167 # We can also use the matric_number instead. 2168 self.browser.open('http://localhost/app/requestpw') 2169 self.browser.getControl(name="form.firstname").value = 'aNNa' 2170 self.browser.getControl(name="form.number").value = '234' 2171 self.browser.getControl(name="form.email").value = 'new@yy.zz' 2172 self.browser.getControl("Send login credentials").click() 1928 2173 self.assertTrue('Your password request was successful.' 1929 2174 in self.browser.contents) … … 1934 2179 email=('new@yy.zz', 'new@yy.zz'))) 1935 2180 self.assertEqual(self.student,results[0]) 2181 logfile = os.path.join( 2182 self.app['datacenter'].storage, 'logs', 'main.log') 2183 logcontent = open(logfile).read() 2184 self.assertTrue('zope.anybody - students.browser.StudentRequestPasswordPage - ' 2185 '234 (K1000000) - new@yy.zz' in logcontent) 1936 2186 return
Note: See TracChangeset for help on using the changeset viewer.