From a668f36bc7c26abdfc20ec46a624854d044bb5d6 Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Sat, 28 Mar 2015 01:38:38 +0100 Subject: [PATCH] tests: Add tests for TaskWikiStop command --- tests/test_selected.py | 112 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/tests/test_selected.py b/tests/test_selected.py index a8ecce6..819467a 100644 --- a/tests/test_selected.py +++ b/tests/test_selected.py @@ -465,3 +465,115 @@ class TestStartActionRange(IntegrationTest): assert (now - self.tasks[1]['start']).total_seconds() < 5 assert (self.tasks[1]['start'] - now).total_seconds() < 5 + + +class TestStopAction(IntegrationTest): + + viminput = """ + * [S] test task 1 #{uuid} + * [S] test task 2 #{uuid} + """ + + vimoutput = """ + * [ ] test task 1 #{uuid} + * [S] test task 2 #{uuid} + """ + + tasks = [ + dict(description="test task 1", start="now"), + dict(description="test task 2", start="now"), + ] + + def execute(self): + self.command( + "TaskWikiStop", + regex="Task \"test task 1\" stopped.$", + lines=1) + + for task in self.tasks: + task.refresh() + + now = local_zone.localize(datetime.now()) + + assert self.tasks[0]['status'] == "pending" + assert self.tasks[1]['status'] == "pending" + + assert (now - self.tasks[1]['start']).total_seconds() < 30 + assert (self.tasks[1]['start'] - now).total_seconds() < 30 + + assert self.tasks[0]['start'] == None + + +class TestStopActionMoved(IntegrationTest): + + viminput = """ + * [S] test task 1 #{uuid} + * [S] test task 2 #{uuid} + """ + + vimoutput = """ + * [S] test task 1 #{uuid} + * [ ] test task 2 #{uuid} + """ + + tasks = [ + dict(description="test task 1", start="now"), + dict(description="test task 2", start="now"), + ] + + def execute(self): + self.client.type('2gg') + self.command( + "TaskWikiStop", + regex="Task \"test task 2\" stopped.$", + lines=1) + sleep(1) + + for task in self.tasks: + task.refresh() + + now = local_zone.localize(datetime.now()) + + assert self.tasks[0]['status'] == "pending" + assert self.tasks[1]['status'] == "pending" + + assert (now - self.tasks[0]['start']).total_seconds() < 30 + assert (self.tasks[0]['start'] - now).total_seconds() < 30 + + assert self.tasks[1]['start'] == None + + +class TestStopActionRange(IntegrationTest): + + viminput = """ + * [S] test task 1 #{uuid} + * [S] test task 2 #{uuid} + """ + + vimoutput = """ + * [ ] test task 1 #{uuid} + * [ ] test task 2 #{uuid} + """ + + tasks = [ + dict(description="test task 1", start="now"), + dict(description="test task 2", start="now"), + ] + + def execute(self): + self.client.normal('1gg') + sleep(1) + self.client.normal('VG') + sleep(1) + self.client.feedkeys(":TaskWikiStop") + self.client.type('') + sleep(1) + + for task in self.tasks: + task.refresh() + + assert self.tasks[0]['status'] == "pending" + assert self.tasks[1]['status'] == "pending" + + assert self.tasks[0]['start'] == None + assert self.tasks[1]['start'] == None