Changeset 9211 for main/waeup.kofa/branches/uli-zc-async/src/waeup/kofa/students/tests/test_student.py
- Timestamp:
- 21 Sep 2012, 08:19:35 (12 years ago)
- Location:
- main/waeup.kofa/branches/uli-zc-async
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/branches/uli-zc-async
- Property svn:mergeinfo changed
/main/waeup.kofa/branches/uli-async-update removed /main/waeup.kofa/branches/uli-autoinclude-less removed /main/waeup.kofa/trunk removed
- Property svn:mergeinfo changed
-
main/waeup.kofa/branches/uli-zc-async/src/waeup/kofa/students/tests/test_student.py
r9209 r9211 21 21 import re 22 22 import unittest 23 import grok24 23 from cStringIO import StringIO 25 24 from datetime import tzinfo 26 from zope.component import getUtility, queryUtility, createObject 27 from zope.catalog.interfaces import ICatalog 25 from zope.component import getUtility 28 26 from zope.component.interfaces import IFactory 29 from zope.event import notify30 27 from zope.interface import verify 31 from zope.schema.interfaces import RequiredMissing32 28 from waeup.kofa.interfaces import IExtFileStore, IFileStoreNameChooser 33 29 from waeup.kofa.students.export import EXPORTER_NAMES … … 133 129 studylevel = StudentStudyLevel() 134 130 self.assertRaises( 135 TypeError, studylevel.addCourseTicket, department , department)131 TypeError, studylevel.addCourseTicket, department) 136 132 137 133 def test_booking_date(self): … … 240 236 return 241 237 242 class StudentTransferTests(StudentImportExportSetup):243 244 layer = FunctionalLayer245 246 def setUp(self):247 super(StudentTransferTests, self).setUp()248 249 # Add additional certificate250 self.certificate2 = createObject('waeup.Certificate')251 self.certificate2.code = 'CERT2'252 self.certificate2.application_category = 'basic'253 self.certificate2.start_level = 200254 self.certificate2.end_level = 500255 self.app['faculties']['fac1']['dep1'].certificates.addCertificate(256 self.certificate2)257 258 # Add student with subobjects259 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 return265 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 return322 238 323 239 class StudentFactoryTest(FunctionalTestCase):
Note: See TracChangeset for help on using the changeset viewer.