diff --git a/test/delete.t b/test/delete.t index aa3482f9..26d6b840 100755 --- a/test/delete.t +++ b/test/delete.t @@ -45,8 +45,19 @@ class TestDelete(TestCase): def test_delete_open(self): """Delete a single open interval""" - self.t("track :yesterday foo") - self.t("start today bar") + now_utc = datetime.now().utcnow() + five_hours_before_utc = now_utc - timedelta(hours=5) + four_hours_before_utc = now_utc - timedelta(hours=4) + three_hours_before_utc = now_utc - timedelta(hours=3) + + self.t("track {:%Y-%m-%dT%H:%M:%S}Z - {:%Y-%m-%dT%H:%M:%S}Z foo".format(five_hours_before_utc, four_hours_before_utc)) + self.t("start {:%Y-%m-%dT%H:%M:%S}Z bar".format(three_hours_before_utc)) + + j = self.t.export() + + self.assertEqual(len(j), 2) + self.assertClosedInterval(j[0], expectedTags=["foo"]) + self.assertOpenInterval(j[1], expectedTags=["bar"]) code, out, err = self.t("delete @1") self.assertEqual(out, 'Deleted @1\n') @@ -58,8 +69,20 @@ class TestDelete(TestCase): def test_delete_closed(self): """Delete a single closed interval""" - self.t("track :yesterday foo") - self.t("start today bar") + now_utc = datetime.now().utcnow() + five_hours_before_utc = now_utc - timedelta(hours=5) + four_hours_before_utc = now_utc - timedelta(hours=4) + three_hours_before_utc = now_utc - timedelta(hours=3) + + self.t("track {:%Y-%m-%dT%H:%M:%S}Z - {:%Y-%m-%dT%H:%M:%S}Z foo".format(five_hours_before_utc, four_hours_before_utc)) + self.t("start {:%Y-%m-%dT%H:%M:%S}Z bar".format(three_hours_before_utc)) + + j = self.t.export() + + self.assertEqual(len(j), 2) + self.assertClosedInterval(j[0], expectedTags=["foo"]) + self.assertOpenInterval(j[1], expectedTags=["bar"]) + code, out, err = self.t("delete @2") self.assertEqual(out, 'Deleted @2\n') @@ -70,8 +93,14 @@ class TestDelete(TestCase): def test_delete_multiple(self): """Delete a mix of open/closed intervals""" - self.t("track :yesterday foo") - self.t("start today bar") + now_utc = datetime.now().utcnow() + five_hours_before_utc = now_utc - timedelta(hours=5) + four_hours_before_utc = now_utc - timedelta(hours=4) + three_hours_before_utc = now_utc - timedelta(hours=3) + + self.t("track {:%Y-%m-%dT%H:%M:%S}Z - {:%Y-%m-%dT%H:%M:%S}Z foo".format(five_hours_before_utc, four_hours_before_utc)) + self.t("start {:%Y-%m-%dT%H:%M:%S}Z bar".format(three_hours_before_utc)) + code, out, err = self.t("delete @1 @2") self.assertIn('Deleted @1', out) self.assertIn('Deleted @2', out) diff --git a/test/move.t b/test/move.t index 173d8d74..cf69cb2a 100755 --- a/test/move.t +++ b/test/move.t @@ -84,26 +84,45 @@ class TestMove(TestCase): def test_move_open_backwards(self): """Move an open interval backwards in time""" - self.t("start 5mins ago foo") - code, out, err = self.t("move @1 today") - self.assertRegex(out, 'Moved @1 to \d\d\d\d-\d\d-\d\dT00:00:00') + now = datetime.now() + five_hours_before = now - timedelta(hours=5) + + now_utc = now.utcnow() + five_hours_before_utc = now_utc - timedelta(hours=5) + two_hours_before_utc = now_utc - timedelta(hours=2) + + self.t("start {:%Y-%m-%dT%H:%M:%S}Z foo".format(two_hours_before_utc)) + + code, out, err = self.t("move @1 {:%Y-%m-%dT%H:%M:%S}Z".format(five_hours_before_utc)) + self.assertRegex(out, 'Moved @1 to {:%Y-%m-%dT%H:%M:%S}'.format(five_hours_before)) j = self.t.export() self.assertEqual(len(j), 1) - self.assertOpenInterval(j[0], expectedTags=["foo"]) + self.assertOpenInterval(j[0], + expectedStart="{:%Y%m%dT%H%M%S}Z".format(five_hours_before_utc), + expectedTags=["foo"]) def test_move_open_forwards(self): """Move an open interval forwards in time""" - self.t("start yesterday foo") + now = datetime.now() + two_hours_before = now - timedelta(hours=2) - code, out, err = self.t("move @1 today") + now_utc = now.utcnow() + five_hours_before_utc = now_utc - timedelta(hours=5) + two_hours_before_utc = now_utc - timedelta(hours=2) - self.assertRegex(out, 'Moved @1 to \d\d\d\d-\d\d-\d\dT00:00:00') + self.t("start {:%Y-%m-%dT%H:%M:%S}Z foo".format(five_hours_before_utc)) + + code, out, err = self.t("move @1 {:%Y-%m-%dT%H:%M:%S}Z".format(two_hours_before_utc)) + + self.assertRegex(out, 'Moved @1 to {:%Y-%m-%dT%H:%M:%S}'.format(two_hours_before)) j = self.t.export() self.assertEqual(len(j), 1) - self.assertOpenInterval(j[0], expectedTags=["foo"]) + self.assertOpenInterval(j[0], + expectedStart="{:%Y%m%dT%H%M%S}Z".format(two_hours_before_utc), + expectedTags=["foo"]) def test_move_interval_over_another_with_adjust(self): """Move an interval over another with :adjust"""