Fixed teacher activity calculation

This commit is contained in:
Claude Paroz 2017-08-21 14:01:02 +02:00
parent 8e4c15f1db
commit 1562324234
2 changed files with 49 additions and 5 deletions

View file

@ -173,7 +173,7 @@ class TeacherTests(TestCase):
def setUpTestData(cls):
User.objects.create_superuser('me', 'me@example.org', 'mepassword')
cls.teacher = Teacher.objects.create(
first_name='Jeanne', last_name='Dubois', birth_date='1974-08-08'
first_name='Jeanne', last_name='Dubois', birth_date='1974-08-08', rate=50.0
)
Course.objects.create(
teacher=cls.teacher, period=8, subject='#ASE Colloque', imputation='ASSCFE',
@ -214,6 +214,39 @@ class TeacherTests(TestCase):
del effective['mandats']
self.assertEqual(effective, expected)
# Test over max hours per year for a full time
self.teacher.rate = 100.0
self.teacher.save()
crs = Course.objects.create(
teacher=self.teacher, period=Teacher.MAX_ENS_PERIODS - 4, subject='Cours principal', imputation='ASSCFE',
)
effective = self.teacher.calc_activity()
del effective['mandats']
self.assertEqual(effective, {
'tot_mandats': 8,
'tot_ens': Teacher.MAX_ENS_PERIODS,
'tot_formation': Teacher.MAX_FORMATION + 1,
'tot_trav': Teacher.MAX_ENS_PERIODS + Teacher.MAX_FORMATION + 1 + 8,
'tot_paye': Teacher.MAX_ENS_PERIODS + Teacher.MAX_FORMATION,
'report': -8 - 1,
})
self.assertEqual(self.teacher.next_report, -8 - 1)
# Test below max hours per year for a full time
crs.period = Teacher.MAX_ENS_PERIODS - 4 - 10
crs.save()
effective = self.teacher.calc_activity()
del effective['mandats']
self.assertEqual(effective, {
'tot_mandats': 8,
'tot_ens': Teacher.MAX_ENS_PERIODS - 10,
'tot_formation': Teacher.MAX_FORMATION,
'tot_trav': Teacher.MAX_ENS_PERIODS + Teacher.MAX_FORMATION + 8 - 10,
'tot_paye': Teacher.MAX_ENS_PERIODS + Teacher.MAX_FORMATION,
'report': 2,
})
self.assertEqual(self.teacher.next_report, 2)
def test_calc_imputations(self):
result = self.teacher.calc_imputations()
self.assertEqual(result[1]['ASSC'], 9)