Example #1
0
    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]'
        )
Example #2
0
    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)