Compute the total number of hours spent in a course
This commit is contained in:
parent
63c46f6e6e
commit
a612503bf5
|
@ -330,6 +330,12 @@ class Course(Markdownizable, Temporizable):
|
||||||
"""
|
"""
|
||||||
return time_diff(self.hour_begin, self.hour_end)
|
return time_diff(self.hour_begin, self.hour_end)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def total_number_of_hours(self) -> timedelta:
|
||||||
|
"""Retourne le temps total a été consacré à ce cours
|
||||||
|
"""
|
||||||
|
return self.get_number_of_real_occurrences * self.number_of_hours
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def get_number_of_planned_occurrences(self):
|
def get_number_of_planned_occurrences(self):
|
||||||
return self.get_total_occurence()
|
return self.get_total_occurence()
|
||||||
|
|
|
@ -73,6 +73,23 @@ class TestCourse(TestCase):
|
||||||
|
|
||||||
self.assertEqual(course.get_number_of_real_occurrences, 0)
|
self.assertEqual(course.get_number_of_real_occurrences, 0)
|
||||||
|
|
||||||
|
def test_total_number_of_hours_should_be_39_times_3(self):
|
||||||
|
"""Vérifie que le nombre total d'heures consacrées est bien égal à 39 séances * 3h
|
||||||
|
|
||||||
|
Remarks:
|
||||||
|
39 séances * 3h = 117h = 4 jours + 21h = timedelta(days=3, seconds=75600) :-)
|
||||||
|
"""
|
||||||
|
course = Course.objects.create(
|
||||||
|
iso_day_number=2,
|
||||||
|
datebegin=datetime(2021, 1, 1),
|
||||||
|
dateend=datetime(2021, 9, 30),
|
||||||
|
hour_begin=time(hour=19, minute=0),
|
||||||
|
hour_end=time(hour=22, minute=0),
|
||||||
|
club=self.club
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertEqual(course.total_number_of_hours, timedelta(days=4, seconds=75600))
|
||||||
|
|
||||||
def test_number_of_real_occurrences_should_be_21(self):
|
def test_number_of_real_occurrences_should_be_21(self):
|
||||||
course = Course.objects.create(
|
course = Course.objects.create(
|
||||||
iso_day_number=2,
|
iso_day_number=2,
|
||||||
|
|
Loading…
Reference in New Issue