Ignore:
Timestamp:
13 Feb 2015, 06:31:37 (10 years ago)
Author:
Henrik Bettermann
Message:

Add department mover.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_move.py

    r12590 r12609  
    2626
    2727class MoveObjectsInFaculties(StudentsFullSetup):
     28
     29    def test_move_department(self):
     30        self.assertEqual(
     31            self.app['faculties']['fac1']['dep1'].certificates['CERT1'],
     32            self.certificate)
     33        department = self.app['faculties']['fac1']['dep1']
     34        faculty = self.app['faculties']['fac1']
     35        department.moveDepartment('fac1', 'newdep')
     36
     37        # New department is created and old department is removed
     38        self.assertEqual(
     39            [key for key in self.app['faculties']['fac1']],
     40            ['newdep'])
     41
     42        # All subobjects have been moved too
     43        self.assertEqual(
     44            self.app['faculties']['fac1']['newdep'].courses['COURSE1'],
     45            self.course)
     46        self.assertEqual(
     47            self.app['faculties']['fac1']['newdep'].certificates['CERT1'],
     48            self.certificate)
     49        self.assertEqual(
     50            [key for key in self.app['faculties']['fac1'][
     51                'newdep'].certificates['CERT1'].keys()],
     52            [u'COURSE1_100'])
     53
     54        # We can still find the certificate in the catalog
     55        cat = queryUtility(ICatalog, name='certificates_catalog')
     56        results = cat.searchResults(code=('CERT1','CERT1'))
     57        results = [x for x in results]
     58        assert len(results) == 1
     59        assert results[0] is self.certificate
     60
     61        # We can still find the course in the catalog
     62        cat = queryUtility(ICatalog, name='courses_catalog')
     63        results = cat.searchResults(code=('COURSE1','COURSE1'))
     64        results = [x for x in results] #
     65        assert len(results) == 1
     66        assert results[0] is self.course
     67        # We can still find the certificatecourse in the catalog
     68        cat = queryUtility(ICatalog, name='certcourses_catalog')
     69        results = cat.searchResults(course_code=('COURSE1','COURSE1'))
     70        results = [x for x in results]
     71        assert len(results) == 1
     72        assert results[0] is self.app['faculties']['fac1'][
     73            'newdep'].certificates['CERT1']['COURSE1_100']
     74
     75        # We can find the student studying in the new department
     76        cat = queryUtility(ICatalog, name='students_catalog')
     77        results = cat.searchResults(depcode=('newdep','newdep'))
     78        results = [x for x in results] # Turn results generator into list
     79        assert len(results) == 1
     80        assert results[0] is self.app['students'][self.student_id]
     81        logfile = os.path.join(
     82            self.app['datacenter'].storage, 'logs', 'students.log')
     83        logcontent = open(logfile).read()
     84        self.assertTrue('INFO - system - K1000000 - Department moved'
     85            in logcontent)
     86
    2887
    2988    def test_move_certificate(self):
     
    70129        self.assertTrue('INFO - system - K1000000 - Certificate moved'
    71130            in logcontent)
    72 
Note: See TracChangeset for help on using the changeset viewer.