Ignore:
Timestamp:
27 Jan 2015, 14:48:22 (10 years ago)
Author:
Henrik Bettermann
Message:

Add exporter methods and export page to filter student data exports by entering a list of student ids.

Location:
main/waeup.kofa/trunk/src/waeup/kofa/students/tests
Files:
2 edited

Legend:

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

    r12393 r12518  
    33133313            )
    33143314
     3315    def test_datacenter_export_selected(self):
     3316        self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
     3317        self.browser.open('http://localhost/app/datacenter/@@exportselected')
     3318        self.browser.getControl(name="exporter").value = ['students']
     3319        self.browser.getControl(name="students").value = 'K1000000'
     3320        self.browser.getControl("Create CSV file").click()
     3321        # When the job is finished and we reload the page...
     3322        job_id = self.wait_for_export_job_completed()
     3323        # ... the csv file can be downloaded ...
     3324        self.browser.open('http://localhost/app/datacenter/@@export')
     3325        self.browser.getLink("Download").click()
     3326        self.assertEqual(self.browser.headers['content-type'],
     3327            'text/csv; charset=UTF-8')
     3328        self.assertTrue(
     3329            'filename="WAeUP.Kofa_students_%s.csv' % job_id in
     3330            self.browser.headers['content-disposition'])
     3331        self.assertTrue(
     3332            'adm_code,clearance_locked,clr_code,date_of_birth,email,employer,'
     3333            'firstname,lastname,matric_number,middlename,nationality,'
     3334            'officer_comment,perm_address,personal_updated,phone,reg_number,'
     3335            'sex,student_id,suspended,suspended_comment,transcript_comment,'
     3336            'password,state,history,certcode,is_postgrad,current_level,'
     3337            'current_session\r\n'
     3338            ',1,,1981-02-04#,aa@aa.ng,,Anna,Tester,234,,,,,,'
     3339            '1234#,123,m,K1000000,0,,,{SSHA}' in self.browser.contents)
     3340
    33153341    def test_payment_dates(self):
    33163342        self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
  • main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_export.py

    r12393 r12518  
    262262        return
    263263
     264    def test_export_selected(self):
     265        # we can export a filtered set of students (filtered by session/level)
     266        self.setup_student(self.student)
     267        self.app['students'].addStudent(self.student)
     268        notify(grok.ObjectModifiedEvent(self.student))
     269        exporter = StudentExporter()
     270        exporter.export_selected(
     271            self.app, self.outfile, selected=['A111111'])
     272        result1 = open(self.outfile, 'rb').read()
     273        exporter.export_selected(
     274            self.app, self.outfile, selected=[])
     275        result2 = open(self.outfile, 'rb').read()
     276        self.assertTrue(self.std_csv_entry in result1)
     277        self.assertFalse(self.std_csv_entry in result2)
     278        return
     279
    264280    def test_export_filtered_by_dept(self):
    265281        # we can export a set of students filtered by department
     
    405421        return
    406422
     423    def test_export_selected(self):
     424        # we can export a filtered set of students (filtered by session/level)
     425        self.setup_student(self.student)
     426        self.app['students'].addStudent(self.student)
     427        notify(grok.ObjectModifiedEvent(self.student))
     428        exporter = StudentStudyCourseExporter()
     429        exporter.export_selected(
     430            self.app, self.outfile, selected=['A111111'])
     431        result = open(self.outfile, 'rb').read()
     432        self.assertEqual(
     433            result,
     434            'certificate,current_level,current_session,current_verdict,'
     435            'entry_mode,entry_session,previous_verdict,student_id\r\n'
     436
     437            'CERT1,200,2012,0,ug_ft,2010,0,A111111\r\n'
     438            )
     439        return
    407440
    408441
     
    502535        exporter.export_filtered(
    503536            self.student, self.outfile)
     537        result = open(self.outfile, 'rb').read()
     538        self.assertEqual(
     539            result,
     540            'gpa,level,level_session,level_verdict,total_credits,'
     541            'validated_by,validation_date,'
     542            'student_id,number_of_tickets,certcode\r\n'
     543            '0.0,100,2012,A,100,,,A111111,1,CERT1\r\n'
     544            )
     545        return
     546
     547    def test_export_selected(self):
     548        # we can export studylevels of a filtered set of students
     549        self.setup_student(self.student)
     550        self.app['students'].addStudent(self.student)
     551        notify(grok.ObjectModifiedEvent(self.student))
     552
     553        exporter = StudentStudyLevelExporter()
     554        exporter.export_selected(
     555            self.app, self.outfile, selected=['A111111'])
    504556        result = open(self.outfile, 'rb').read()
    505557        self.assertEqual(
Note: See TracChangeset for help on using the changeset viewer.