Adapt delete.t and move.t as today is now interpreted as a range

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
This commit is contained in:
Thomas Lauf 2020-07-15 17:22:32 +02:00
parent c35a08719f
commit 90b5b1085e
2 changed files with 62 additions and 14 deletions

View file

@ -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)

View file

@ -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"""