Changeset 9169 for main/waeup.kofa/branches/uli-async-update/src/waeup/kofa/students/tests/test_student.py
- Timestamp:
- 10 Sep 2012, 11:05:07 (12 years ago)
- Location:
- main/waeup.kofa/branches/uli-async-update
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/branches/uli-async-update
- Property svn:mergeinfo changed
-
main/waeup.kofa/branches/uli-async-update/src/waeup/kofa/students/tests/test_student.py
r8735 r9169 21 21 import re 22 22 import unittest 23 import grok 23 24 from cStringIO import StringIO 24 25 from datetime import tzinfo 25 from zope.component import getUtility 26 from zope.component import getUtility, queryUtility, createObject 27 from zope.catalog.interfaces import ICatalog 26 28 from zope.component.interfaces import IFactory 29 from zope.event import notify 27 30 from zope.interface import verify 31 from zope.schema.interfaces import RequiredMissing 28 32 from waeup.kofa.interfaces import IExtFileStore, IFileStoreNameChooser 29 33 from waeup.kofa.students.export import EXPORTER_NAMES … … 129 133 studylevel = StudentStudyLevel() 130 134 self.assertRaises( 131 TypeError, studylevel.addCourseTicket, department )135 TypeError, studylevel.addCourseTicket, department, department) 132 136 133 137 def test_booking_date(self): … … 236 240 return 237 241 242 class StudentTransferTests(StudentImportExportSetup): 243 244 layer = FunctionalLayer 245 246 def setUp(self): 247 super(StudentTransferTests, self).setUp() 248 249 # Add additional certificate 250 self.certificate2 = createObject('waeup.Certificate') 251 self.certificate2.code = 'CERT2' 252 self.certificate2.application_category = 'basic' 253 self.certificate2.start_level = 200 254 self.certificate2.end_level = 500 255 self.app['faculties']['fac1']['dep1'].certificates.addCertificate( 256 self.certificate2) 257 258 # Add student with subobjects 259 student = Student() 260 self.app['students'].addStudent(student) 261 student = self.setup_student(student) 262 notify(grok.ObjectModifiedEvent(student)) 263 self.student = self.app['students'][student.student_id] 264 return 265 266 def test_transfer_student(self): 267 self.assertRaises( 268 RequiredMissing, self.student.transfer, self.certificate2) 269 error = self.student.transfer(self.certificate2, current_session=1000) 270 self.assertTrue(error == -1) 271 error = self.student.transfer(self.certificate2, current_session=2013) 272 self.assertTrue(error == None) 273 self.assertEqual(self.student['studycourse_1'].certificate.code, 'CERT1') 274 self.assertEqual(self.student['studycourse'].certificate.code, 'CERT2') 275 self.assertEqual(self.student['studycourse_1'].current_session, 2012) 276 self.assertEqual(self.student['studycourse'].current_session, 2013) 277 self.assertEqual(self.student['studycourse'].entry_session, 278 self.student['studycourse_1'].entry_session) 279 self.assertEqual(self.student['studycourse_1'].__name__, 'studycourse_1') 280 logfile = os.path.join( 281 self.app['datacenter'].storage, 'logs', 'students.log') 282 logcontent = open(logfile).read() 283 self.assertTrue('system - K1000000 - transferred from CERT1 to CERT2' 284 in logcontent) 285 messages = ' '.join(self.student.history.messages) 286 self.assertMatches( 287 '...<YYYY-MM-DD hh:mm:ss> UTC - ' 288 'Transferred from CERT1 to CERT2 by system', messages) 289 290 # The students_catalog has been updated. 291 cat = queryUtility(ICatalog, name='students_catalog') 292 results = cat.searchResults(certcode=('CERT1', 'CERT1')) 293 results = [x for x in results] 294 self.assertEqual(len(results), 0) 295 results = cat.searchResults(certcode=('CERT2', 'CERT2')) 296 results = [x for x in results] 297 self.assertEqual(len(results), 1) 298 assert results[0] is self.app['students'][self.student.student_id] 299 results = cat.searchResults(current_session=(2013,2013)) 300 results = [x for x in results] 301 self.assertEqual(len(results), 1) 302 assert results[0] is self.app['students'][self.student.student_id] 303 304 # Students can be transferred (only) two times. 305 error = self.student.transfer(self.certificate, 306 current_session=2013) 307 self.assertTrue(error == None) 308 error = self.student.transfer(self.certificate2, 309 current_session=2013) 310 self.assertTrue(error == -3) 311 self.assertEqual([i for i in self.student.keys()], 312 [u'accommodation', u'payments', u'studycourse', 313 u'studycourse_1', u'studycourse_2']) 314 315 # The students_catalog has been updated again. 316 cat = queryUtility(ICatalog, name='students_catalog') 317 results = cat.searchResults(certcode=('CERT1', 'CERT1')) 318 results = [x for x in results] 319 self.assertEqual(len(results), 1) 320 assert results[0] is self.app['students'][self.student.student_id] 321 return 238 322 239 323 class StudentFactoryTest(FunctionalTestCase):
Note: See TracChangeset for help on using the changeset viewer.