X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/89dd9a54e1e0a7192477e57ba08f427b62939928..791af4dbe80d6c760589edf5aa9f2895558a83d2:/tasklib/tests.py diff --git a/tasklib/tests.py b/tasklib/tests.py index 4f0b23f..be54504 100644 --- a/tasklib/tests.py +++ b/tasklib/tests.py @@ -696,16 +696,24 @@ class TaskTest(TasklibTest): def test_adding_tag_by_appending(self): t = Task(self.tw, description="test task", tags=['test1']) t.save() - t['tags'].append('test2') + t['tags'].add('test2') t.save() - self.assertEqual(t['tags'], ['test1', 'test2']) + self.assertEqual(t['tags'], set(['test1', 'test2'])) + + def test_adding_tag_twice(self): + t = Task(self.tw, description="test task", tags=['test1']) + t.save() + t['tags'].add('test2') + t['tags'].add('test2') + t.save() + self.assertEqual(t['tags'], set(['test1', 'test2'])) def test_adding_tag_by_appending_empty(self): t = Task(self.tw, description="test task") t.save() - t['tags'].append('test') + t['tags'].add('test') t.save() - self.assertEqual(t['tags'], ['test']) + self.assertEqual(t['tags'], set(['test'])) def test_serializers_returning_empty_string_for_none(self): # Test that any serializer returns '' when passed None @@ -737,6 +745,15 @@ class TaskTest(TasklibTest): t.save() self.assertEqual(len(self.tw.tasks.pending()), 2) + def test_spawned_task_parent(self): + today = datetime.date.today() + t = Task(self.tw, description="brush teeth", + due=today, recur="daily") + t.save() + + spawned = self.tw.tasks.pending().get(due=today) + assert spawned['parent'] == t + def test_modify_number_of_tasks_at_once(self): for i in range(1, 100): Task(self.tw, description="test task %d" % i, tags=['test']).save() @@ -764,6 +781,14 @@ class TaskFromHookTest(TasklibTest): '"start":"20141119T152233Z",' '"uuid":"a360fc44-315c-4366-b70c-ea7e7520b749"}') + input_add_data_recurring = six.StringIO( + '{"description":"Mow the lawn",' + '"entry":"20160210T224304Z",' + '"parent":"62da6227-519c-42c2-915d-dccada926ad7",' + '"recur":"weekly",' + '"status":"pending",' + '"uuid":"81305335-0237-49ff-8e87-b3cdc2369cec"}') + input_modify_data = six.StringIO(input_add_data.getvalue() + '\n' + '{"description":"Buy some milk finally",' '"entry":"20141118T050231Z",' @@ -780,6 +805,12 @@ class TaskFromHookTest(TasklibTest): self.assertEqual(t['description'], "Buy some milk") self.assertEqual(t.pending, True) + def test_setting_up_from_add_hook_input_recurring(self): + t = Task.from_input(input_file=self.input_add_data_recurring, + backend=self.tw) + self.assertEqual(t['description'], "Mow the lawn") + self.assertEqual(t.pending, True) + def test_setting_up_from_modified_hook_input(self): t = Task.from_input(input_file=self.input_modify_data, modify=True, backend=self.tw)