- Timestamp:
- 20 Sep 2012, 08:49:37 (12 years ago)
- Location:
- main/waeup.kofa/branches/uli-zc-async
- Files:
-
- 5 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/applicants/tests/test_applicantcopier.py
r8667 r9209 21 21 import os 22 22 import grok 23 from datetime import datetime 23 24 from hurry.workflow.interfaces import IWorkflowInfo, IWorkflowState 24 25 from zope.event import notify … … 28 29 from waeup.kofa.interfaces import IExtFileStore, IFileStoreNameChooser 29 30 from waeup.kofa.applicants.tests.test_browser import ApplicantsFullSetup 31 32 session = datetime.now().year - 2 30 33 31 34 class ApplicantCopierFunctionalTests(ApplicantsFullSetup): … … 67 70 self.browser.getControl(name="form.course_admitted").value = ['CERT1'] 68 71 self.browser.getControl("Save").click() 72 # Maybe the certificate has meanwhile been removed 73 del self.app['faculties']['fac1']['dep1'].certificates['CERT1'] 74 (success, msg) = self.applicant.createStudent() 75 self.assertFalse(success) 76 self.assertTrue('ConstraintNotSatisfied: CERT1' in msg) 77 # Ok, lets add the certificate and try again 78 self.app['faculties']['fac1']['dep1'].certificates.addCertificate( 79 self.certificate) 69 80 (success, msg) = self.applicant.createStudent() 70 81 self.assertTrue('created' in msg) … … 82 93 self.assertEqual(student.firstname, 'John') 83 94 self.assertEqual(student.lastname, 'Tester') 95 # student_id set in application record? 96 self.assertEqual(self.applicant.student_id, student.student_id) 84 97 # Check if passport image has been copied 85 98 storage = getUtility(IExtFileStore) … … 110 123 # Has the student studycourse the correct attributes? 111 124 self.assertEqual(student['studycourse'].certificate.code, 'CERT1') 112 self.assertEqual(student['studycourse'].entry_session, 2009)125 self.assertEqual(student['studycourse'].entry_session, session) 113 126 self.assertEqual(student['studycourse'].entry_mode, 'ug_ft') 114 self.assertEqual(student['studycourse'].current_session, 2009)127 self.assertEqual(student['studycourse'].current_session, session) 115 128 self.assertEqual(student['studycourse'].current_level, 100) 116 129 -
main/waeup.kofa/branches/uli-zc-async/src/waeup/kofa/applicants/tests/test_authentication.py
r8351 r9209 64 64 email = None 65 65 phone = None 66 suspended = False 66 67 67 68 -
main/waeup.kofa/branches/uli-zc-async/src/waeup/kofa/applicants/tests/test_browser.py
r8778 r9209 23 23 import tempfile 24 24 import grok 25 from datetime import datetime 25 26 from StringIO import StringIO 26 27 from datetime import datetime, date, timedelta … … 46 47 PH_LEN = 2059 # Length of placeholder file 47 48 49 session_1 = datetime.now().year - 2 50 container_name_1 = u'app%s' % session_1 51 session_2 = datetime.now().year - 1 52 container_name_2 = u'app%s' % session_2 53 48 54 class ApplicantsFullSetup(FunctionalTestCase): 49 55 # A test case that only contains a setup and teardown … … 80 86 self.manage_root_path = self.root_path + '/@@manage' 81 87 self.add_container_path = self.root_path + '/@@add' 82 self.container_path = 'http://localhost/app/applicants/ app2009'88 self.container_path = 'http://localhost/app/applicants/%s' % container_name_1 83 89 self.manage_container_path = self.container_path + '/@@manage' 84 90 85 91 # Add an applicants container 86 92 applicantscontainer = ApplicantsContainer() 87 applicantscontainer.code = u'app2009'93 applicantscontainer.code = container_name_1 88 94 applicantscontainer.prefix = 'app' 89 applicantscontainer.year = 200990 applicantscontainer.title = u'This is the app2009 container'95 applicantscontainer.year = session_1 96 applicantscontainer.title = u'This is the %s container' % container_name_1 91 97 applicantscontainer.application_category = 'basic' 92 98 applicantscontainer.mode = 'create' … … 95 101 applicantscontainer.startdate = datetime.now(pytz.utc) - delta 96 102 applicantscontainer.enddate = datetime.now(pytz.utc) + delta 97 self.app['applicants'][ 'app2009'] = applicantscontainer98 self.applicantscontainer = self.app['applicants'][ 'app2009']103 self.app['applicants'][container_name_1] = applicantscontainer 104 self.applicantscontainer = self.app['applicants'][container_name_1] 99 105 100 106 # Populate university … … 135 141 self.applicant.reg_number = u'1234' 136 142 self.applicant.course1 = certificate 137 app['applicants'][ 'app2009'].addApplicant(self.applicant)143 app['applicants'][container_name_1].addApplicant(self.applicant) 138 144 IUserAccount( 139 self.app['applicants'][ 'app2009'][145 self.app['applicants'][container_name_1][ 140 146 self.applicant.application_number]).setPassword('apwd') 141 147 self.manage_path = 'http://localhost/app/applicants/%s/%s/%s' % ( 142 'app2009', self.applicant.application_number, 'manage')148 container_name_1, self.applicant.application_number, 'manage') 143 149 self.edit_path = 'http://localhost/app/applicants/%s/%s/%s' % ( 144 'app2009', self.applicant.application_number, 'edit')150 container_name_1, self.applicant.application_number, 'edit') 145 151 self.view_path = 'http://localhost/app/applicants/%s/%s' % ( 146 'app2009', self.applicant.application_number)152 container_name_1, self.applicant.application_number) 147 153 148 154 def login(self): … … 303 309 'There were errors' in self.browser.contents) 304 310 self.browser.getControl(name="form.prefix").value = ['app'] 305 self.browser.getControl(name="form.year").value = [ '2010']311 self.browser.getControl(name="form.year").value = [str(session_2)] 306 312 self.browser.getControl(name="form.mode").value = ['create'] 307 313 self.browser.getControl( … … 317 323 self.browser.open(self.add_container_path) 318 324 self.browser.getControl(name="form.prefix").value = ['app'] 319 self.browser.getControl(name="form.year").value = [ '2010']325 self.browser.getControl(name="form.year").value = [str(session_2)] 320 326 self.browser.getControl(name="form.mode").value = ['create'] 321 327 self.browser.getControl( … … 326 332 self.browser.open(self.manage_root_path) 327 333 ctrl = self.browser.getControl(name='val_id') 328 ctrl.getControl(value= 'app2010').selected = True334 ctrl.getControl(value=container_name_2).selected = True 329 335 self.browser.getControl("Remove selected", index=0).click() 330 336 self.assertTrue('Successfully removed:' in self.browser.contents) 331 337 self.browser.open(self.add_container_path) 332 338 self.browser.getControl(name="form.prefix").value = ['app'] 333 self.browser.getControl(name="form.year").value = [ '2010']339 self.browser.getControl(name="form.year").value = [str(session_2)] 334 340 self.browser.getControl(name="form.mode").value = ['create'] 335 341 #self.browser.getControl(name="form.ac_prefix").value = ['APP'] … … 337 343 name="form.application_category").value = ['basic'] 338 344 self.browser.getControl("Add applicants container").click() 339 del self.app['applicants'][ 'app2010']345 del self.app['applicants'][container_name_2] 340 346 ctrl = self.browser.getControl(name='val_id') 341 ctrl.getControl(value= 'app2010').selected = True347 ctrl.getControl(value=container_name_2).selected = True 342 348 self.browser.getControl("Remove selected", index=0).click() 343 349 self.assertMatches('...Could not delete...', self.browser.contents) … … 465 471 self.browser.open(self.slip_path) 466 472 self.assertTrue( 467 'Please pay before trying to download the application slip.'473 'Please pay and submit before trying to download the application slip.' 468 474 in self.browser.contents) 469 475 # If applicant is in correct state the pdf slip can be opened. 470 IWorkflowState(self.applicant).setState(' paid')476 IWorkflowState(self.applicant).setState('submitted') 471 477 self.browser.open(self.manage_path) 472 478 self.browser.getLink("Download application slip").click() … … 493 499 self.browser.headers['content-length'], str(PH_LEN)) 494 500 501 def test_applicant_login(self): 502 self.applicant.suspended = True 503 self.login() 504 self.assertTrue( 505 'You entered invalid credentials.' in self.browser.contents) 506 self.applicant.suspended = False 507 self.browser.getControl("Login").click() 508 self.assertTrue( 509 'You logged in.' in self.browser.contents) 510 495 511 def test_applicant_access(self): 496 512 # Applicants can edit their record 497 513 self.browser.open(self.login_path) 498 514 self.login() 515 self.assertTrue( 516 'You logged in.' in self.browser.contents) 499 517 self.browser.open(self.edit_path) 500 518 self.assertTrue(self.browser.url != self.login_path) … … 699 717 in self.browser.contents) 700 718 configuration = SessionConfiguration() 701 configuration.academic_session = 2009719 configuration.academic_session = session_1 702 720 configuration.application_fee = 200.0 703 721 self.app['configuration'].addSessionConfiguration(configuration) … … 727 745 payment_id = self.applicant.keys()[0] 728 746 payment = self.applicant[payment_id] 729 self.assertEqual(payment.p_item,'This is the app2009 container')730 self.assertEqual(payment.p_session, 2009)747 self.assertEqual(payment.p_item,'This is the %s container' % container_name_1) 748 self.assertEqual(payment.p_session, session_1) 731 749 self.assertEqual(payment.p_category,'application') 732 750 self.assertEqual(payment.amount_auth,200.0) … … 821 839 self.browser.getControl("Final Submit").click() 822 840 self.assertTrue( 823 ' ... submitted ...' in self.browser.contents)841 'Application submitted' in self.browser.contents) 824 842 # ... or allow submission after deadline. 825 843 IWorkflowState(self.applicant).setState('paid') … … 830 848 self.browser.getControl("Final Submit").click() 831 849 self.assertTrue( 832 ' ... submitted ...' in self.browser.contents)850 'Application submitted' in self.browser.contents) 833 851 self.browser.goBack(count=1) 834 852 self.browser.getControl("Save").click() … … 917 935 self.browser.getControl(name="form.phone.area").value = '555' 918 936 self.browser.getControl(name="form.phone.ext").value = '6666666' 919 self.browser.getControl(" Getlogin credentials").click()937 self.browser.getControl("Send login credentials").click() 920 938 self.assertEqual(self.browser.url, 921 939 self.container_path + '/registration_complete?email=xx%40yy.zz') … … 944 962 self.browser.getControl(name="form.reg_number").value = 'anynumber' 945 963 self.browser.getControl(name="form.email").value = 'xx@yy.zz' 946 self.browser.getControl(" Getlogin credentials").click()964 self.browser.getControl("Send login credentials").click() 947 965 self.assertTrue('No application record found.' 948 966 in self.browser.contents) … … 954 972 self.browser.getControl(name="form.reg_number").value = '1234' 955 973 self.browser.getControl(name="form.email").value = 'xx@yy.zz' 956 self.browser.getControl(" Getlogin credentials").click()974 self.browser.getControl("Send login credentials").click() 957 975 self.assertTrue('An error occurred.' in self.browser.contents) 958 976 # Let's set this attribute manually … … 963 981 self.browser.getControl(name="form.reg_number").value = '1234' 964 982 self.browser.getControl(name="form.email").value = 'xx@yy.zz' 965 self.browser.getControl(" Getlogin credentials").click()983 self.browser.getControl("Send login credentials").click() 966 984 # Anonymous is not informed that firstname verification failed. 967 985 # It seems that the record doesn't exist. … … 973 991 self.browser.getControl(name="form.firstname").value = 'John' 974 992 self.browser.getControl(name="form.reg_number").value = '1234' 975 self.browser.getControl(" Getlogin credentials").click()993 self.browser.getControl("Send login credentials").click() 976 994 self.assertTrue('Your password has already been set and used.' 977 995 in self.browser.contents) 978 996 #IUserAccount( 979 # self.app['applicants'][ 'app2009'][997 # self.app['applicants'][container_name_1][ 980 998 # self.applicant.application_number]).context.password = None 981 999 # Even without unsetting the password we can re-register if state … … 987 1005 self.browser.getControl(name="form.reg_number").value = '1234' 988 1006 self.browser.getControl(name="form.email").value = 'new@yy.zz' 989 self.browser.getControl(" Getlogin credentials").click()1007 self.browser.getControl("Send login credentials").click() 990 1008 # Yeah, we succeded ... 991 1009 self.assertTrue('Your registration was successful.' … … 1003 1021 self.browser.getControl(name="form.identifier").value = '1234' 1004 1022 self.browser.getControl(name="form.email").value = 'aa@aa.ng' 1005 self.browser.getControl(" Getlogin credentials").click()1023 self.browser.getControl("Send login credentials").click() 1006 1024 self.assertTrue('No record found' in self.browser.contents) 1007 1025 self.applicant.email = 'aa@aa.ng' … … 1011 1029 self.browser.getControl(name="form.identifier").value = '1234' 1012 1030 self.browser.getControl(name="form.email").value = 'aa@aa.ng' 1013 self.browser.getControl(" Getlogin credentials").click()1031 self.browser.getControl("Send login credentials").click() 1014 1032 self.assertTrue( 1015 1033 'An email with your user name and password has been sent' -
main/waeup.kofa/branches/uli-zc-async/src/waeup/kofa/applicants/tests/test_export.py
r8724 r9209 120 120 applicant.course_admitted = self.certificate 121 121 applicant.notice = u'Some notice\nin lines.' 122 applicant.screening_score = 98123 applicant.screening_venue = u'Exam Room'124 122 applicant.password = 'any password' 125 123 result_entry = ResultEntry( … … 144 142 'course_admitted,date_of_birth,display_fullname,email,firstname,' 145 143 'history,lastname,locked,middlename,notice,password,phone,' 146 'reg_number,s creening_score,screening_venue,sex,state,'147 'student_id, container_code\r\n'144 'reg_number,sex,state,' 145 'student_id,suspended,container_code\r\n' 148 146 'dp2011_654321,,654321,,,,,Anna Tester,,Anna,' 149 147 in result) 150 148 self.assertTrue( 151 149 'Application initialized by system\'],Tester,' 152 '0,,,,,,, ,,initialized,,dp2011\r\n'150 '0,,,,,,,initialized,,0,dp2011\r\n' 153 151 in result) 154 152 return … … 168 166 'course_admitted,date_of_birth,display_fullname,email,firstname,' 169 167 'history,lastname,locked,middlename,notice,password,phone,' 170 'reg_number,s creening_score,screening_venue,sex,state,'171 'student_id, container_code\r\n'168 'reg_number,sex,state,' 169 'student_id,suspended,container_code\r\n' 172 170 'dp2011_654321,,654321,CERT1,CERT1,CERT1,1981-02-04#,' 173 171 'Anna M. Tester,anna@sample.com,Anna,' … … 176 174 'Application initialized by system\'],' 177 175 'Tester,0,M.,"Some notice\nin lines.",any password,' 178 '+234-123-12345 ,123456,98,Exam Room,f,initialized,,dp2011\r\n'176 '+234-123-12345#,123456,f,initialized,,0,dp2011\r\n' 179 177 in result) 180 178 … … 192 190 'course_admitted,date_of_birth,display_fullname,email,firstname,' 193 191 'history,lastname,locked,middlename,notice,password,phone,' 194 'reg_number,s creening_score,screening_venue,sex,state,'195 'student_id, container_code\r\n'192 'reg_number,sex,state,' 193 'student_id,suspended,container_code\r\n' 196 194 'dp2011_654321,,654321,CERT1,CERT1,CERT1,1981-02-04#,' 197 195 'Anna M. Tester,anna@sample.com,Anna,' … … 200 198 'Application initialized by system\'],' 201 199 'Tester,0,M.,"Some notice\nin lines.",any password,' 202 '+234-123-12345 ,123456,98,Exam Room,f,initialized,,dp2011\r\n'203 in result) 204 return 200 '+234-123-12345#,123456,f,initialized,,0,dp2011\r\n' 201 in result) 202 return
Note: See TracChangeset for help on using the changeset viewer.