Changeset 9131 for main/waeup.kofa/trunk/src/waeup/kofa/students/tests
- Timestamp:
- 31 Aug 2012, 09:21:59 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_student.py
r8920 r9131 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 … … 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 success = self.student.transfer(self.certificate2, current_session=2013) 270 self.assertEqual(self.student['studycourse_1'].certificate.code, 'CERT1') 271 self.assertEqual(self.student['studycourse'].certificate.code, 'CERT2') 272 self.assertEqual(self.student['studycourse_1'].current_session, 2012) 273 self.assertEqual(self.student['studycourse'].current_session, 2013) 274 self.assertEqual(self.student['studycourse_1'].__name__, 'studycourse_1') 275 logfile = os.path.join( 276 self.app['datacenter'].storage, 'logs', 'students.log') 277 logcontent = open(logfile).read() 278 self.assertTrue('system - K1000000 - transferred from CERT1 to CERT2' 279 in logcontent) 280 281 # The students_catalog has been updated. 282 cat = queryUtility(ICatalog, name='students_catalog') 283 results = cat.searchResults(certcode=('CERT1', 'CERT1')) 284 results = [x for x in results] 285 self.assertEqual(len(results), 0) 286 results = cat.searchResults(certcode=('CERT2', 'CERT2')) 287 results = [x for x in results] 288 self.assertEqual(len(results), 1) 289 assert results[0] is self.app['students'][self.student.student_id] 290 results = cat.searchResults(current_session=(2013,2013)) 291 results = [x for x in results] 292 self.assertEqual(len(results), 1) 293 assert results[0] is self.app['students'][self.student.student_id] 294 295 # Students can be transferred (only) two times. 296 success = self.student.transfer(self.certificate, current_session=2013) 297 self.assertTrue(success) 298 success = self.student.transfer(self.certificate2, current_session=2013) 299 self.assertFalse(success) 300 self.assertEqual([i for i in self.student.keys()], 301 [u'accommodation', u'payments', u'studycourse', 302 u'studycourse_1', u'studycourse_2']) 303 304 # The students_catalog has been updated again. 305 cat = queryUtility(ICatalog, name='students_catalog') 306 results = cat.searchResults(certcode=('CERT1', 'CERT1')) 307 results = [x for x in results] 308 self.assertEqual(len(results), 1) 309 assert results[0] is self.app['students'][self.student.student_id] 310 return 238 311 239 312 class StudentFactoryTest(FunctionalTestCase):
Note: See TracChangeset for help on using the changeset viewer.