Ignore:
Timestamp:
6 May 2015, 10:13:38 (10 years ago)
Author:
Henrik Bettermann
Message:

Implement automatic matric_number assignment. Students can induce the
assignment if they have paid school fees by clicking the
'Get Matriculation Number' button. Numbering is per department and session.

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

Legend:

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

    r12148 r12907  
    528528        self.assertEqual(self.student.state, 'courses registered')
    529529        return
     530
     531    def test_set_matric_number(self):
     532        # Login as student
     533        self.browser.open(self.login_path)
     534        IWorkflowState(self.student).setState('school fee paid')
     535        self.browser.open(self.login_path)
     536        self.browser.getControl(name="form.login").value = self.student_id
     537        self.browser.getControl(name="form.password").value = 'spwd'
     538        self.browser.getControl("Login").click()
     539        self.assertRaises(
     540            LinkNotFoundError,
     541            self.browser.getLink, 'Get Matriculation Number')
     542        self.student.matric_number = None
     543        self.student['studycourse'].entry_mode = 'nd_ft'
     544        self.student['studycourse'].entry_session = 2014
     545        self.browser.open(self.student_path)
     546        self.browser.getLink("Get Matriculation Number").click()
     547        self.assertTrue('Matriculation number ND/14/dep1/FT/001 assigned.'
     548            in self.browser.contents)
     549        self.assertEqual(self.student.matric_number, 'ND/14/dep1/FT/001')
     550        self.assertRaises(
     551            LinkNotFoundError,
     552            self.browser.getLink, 'Get Matriculation Number')
     553        # Setting matric number is logged.
     554        logfile = os.path.join(
     555            self.app['datacenter'].storage, 'logs', 'students.log')
     556        logcontent = open(logfile).read()
     557        self.assertTrue('W1000000 - waeup.kwarapoly.students.browser.StudentGetMatricNumberPage - '
     558                        'W1000000 - ND/14/dep1/FT/001 assigned' in logcontent)
     559        return
  • main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/students/tests/test_utils.py

    r12904 r12907  
    5151        self.student.matric_number = None
    5252        msg, mnumber = utils.setMatricNumber(self.student)
     53        self.assertEqual(msg, 'Wrong state.')
     54        IWorkflowState(self.student).setState('school fee paid')
     55        msg, mnumber = utils.setMatricNumber(self.student)
    5356        self.assertEqual(msg, 'Matriculation number cannot be set.')
    5457        self.assertEqual(mnumber, None)
Note: See TracChangeset for help on using the changeset viewer.