mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00
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:
parent
c35a08719f
commit
90b5b1085e
2 changed files with 62 additions and 14 deletions
|
@ -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)
|
||||
|
|
35
test/move.t
35
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"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue