source: main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/students/tests/test_utils.py @ 12904

Last change on this file since 12904 was 12904, checked in by Henrik Bettermann, 9 years ago

Customize matric_number construction methods.

  • Property svn:keywords set to Id
File size: 3.8 KB
Line 
1# -*- coding: utf-8 -*-
2from hurry.workflow.interfaces import IWorkflowState
3from zope.component import getUtility
4from waeup.kofa.testing import FunctionalTestCase
5from waeup.kofa.university.faculty import Faculty
6from waeup.kofa.university.department import Department
7from waeup.kofa.students.interfaces import IStudentsUtils
8from waeup.kofa.students.tests.test_browser import StudentsFullSetup
9from waeup.kwarapoly.testing import FunctionalLayer
10
11class StudentsUtilsTests(StudentsFullSetup):
12
13    layer = FunctionalLayer
14
15    def test_getAccommodationDetails(self):
16        students_utils = getUtility(IStudentsUtils)
17        acc_details  = students_utils.getAccommodationDetails(self.student)
18        self.assertEqual(acc_details['bt'], 'regular_male_fr')
19
20        self.student['studycourse'].current_level = 200
21        acc_details  = students_utils.getAccommodationDetails(self.student)
22        self.assertEqual(acc_details['bt'], 'regular_male_re')
23
24        self.student['studycourse'].current_level = 210
25        acc_details  = students_utils.getAccommodationDetails(self.student)
26        self.assertEqual(acc_details['bt'], 'regular_male_re')
27
28        self.student['studycourse'].current_level = 300
29        acc_details  = students_utils.getAccommodationDetails(self.student)
30        self.assertEqual(acc_details['bt'], 'regular_male_fi')
31
32        self.student['studycourse'].current_level = 400
33        acc_details  = students_utils.getAccommodationDetails(self.student)
34        self.assertEqual(acc_details['bt'], 'regular_male_fr')
35
36        self.student['studycourse'].current_level = 500
37        acc_details  = students_utils.getAccommodationDetails(self.student)
38        self.assertEqual(acc_details['bt'], 'regular_male_re')
39
40        self.student['studycourse'].current_level = 510
41        acc_details  = students_utils.getAccommodationDetails(self.student)
42        self.assertEqual(acc_details['bt'], 'regular_male_re')
43
44        self.student['studycourse'].current_level = 600
45        acc_details  = students_utils.getAccommodationDetails(self.student)
46        self.assertEqual(acc_details['bt'], 'regular_male_fi')
47        return
48
49    def test_setMatricNumber(self):
50        utils = getUtility(IStudentsUtils)
51        self.student.matric_number = None
52        msg, mnumber = utils.setMatricNumber(self.student)
53        self.assertEqual(msg, 'Matriculation number cannot be set.')
54        self.assertEqual(mnumber, None)
55        self.student['studycourse'].entry_mode = 'nd_ft'
56        self.student['studycourse'].entry_session = 2013
57        msg, mnumber = utils.setMatricNumber(self.student)
58        self.assertEqual(self.student.matric_number, 'ND/13/dep1/FT/001')
59        self.assertEqual(
60            self.app['faculties']['fac1']['dep1'].next_matric_dict,
61            {2013: 2})
62        # setting a new matric number in 2014, extends next_matric_dict
63        self.student['studycourse'].entry_session = 2014
64        self.student.matric_number = None
65        msg, mnumber = utils.setMatricNumber(self.student)
66        self.assertEqual(
67            self.app['faculties']['fac1']['dep1'].next_matric_dict,
68            {2013: 2, 2014: 2})
69        # setting a new matric number in 2014 again, increases the counter
70        self.student.matric_number = None
71        msg, mnumber = utils.setMatricNumber(self.student)
72        self.assertEqual(
73            self.app['faculties']['fac1']['dep1'].next_matric_dict,
74            {2013: 2, 2014: 3})
75        # matric number must not exist
76        msg, mnumber = utils.setMatricNumber(self.student)
77        self.assertEqual(msg, 'Matriculation number already set.')
78        # certificate must be set.
79        self.student.matric_number = None
80        self.student['studycourse'].certificate = None
81        msg, mnumber = utils.setMatricNumber(self.student)
82        self.assertEqual(msg, 'No certificate assigned.')
83        return
Note: See TracBrowser for help on using the repository browser.