def test_charge_has_descriptive_string_representation(self): start_datetime = timezone.make_aware( datetime(2019, 1, 1, hour=8, minute=0, second=0)) charge = Charge(project=self.project, start_time=start_datetime) self.assertEqual( str(charge), 'Test, Jan. 1, 2019, 8 a.m. - __:__:__ (0:00:00 minutes) [Open]') charge.end_time = start_datetime + timedelta(minutes=30) self.assertEqual( str(charge), 'Test, Jan. 1, 2019, 8 a.m. - Jan. 1, 2019, 8:30 a.m. (0:30:00 minutes) [Open]' ) charge.end_time = start_datetime + timedelta(hours=1) self.assertEqual( str(charge), 'Test, Jan. 1, 2019, 8 a.m. - Jan. 1, 2019, 9 a.m. (1:00:00 hours) [Open]' ) charge.end_time = start_datetime + timedelta(hours=1, minutes=15) self.assertEqual( str(charge), 'Test, Jan. 1, 2019, 8 a.m. - Jan. 1, 2019, 9:15 a.m. (1:15:00 hours) [Open]' ) charge.closed = True self.assertEqual( str(charge), 'Test, Jan. 1, 2019, 8 a.m. - Jan. 1, 2019, 9:15 a.m. (1:15:00 hours) [Closed]' )
def test_charge_time_charged_property_returns_correct_time_charged(self): start_datetime = timezone.make_aware( datetime(2019, 1, 1, hour=8, minute=0, second=0)) timedelta_zero = timedelta() added_time = timedelta(minutes=30) charge = Charge(project=self.project, start_time=start_datetime) self.assertEqual(charge.time_charged, timedelta_zero) charge.end_time = start_datetime + added_time self.assertEqual(charge.time_charged, added_time)