X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/b1676e7ea9814bc112061aeab88d9bc9cb370dd7..98a9ea60e0c22e140650ff5a89dfd544d9c05cb0:/tasklib/tests.py diff --git a/tasklib/tests.py b/tasklib/tests.py index 4ff4e03..2fa1371 100644 --- a/tasklib/tests.py +++ b/tasklib/tests.py @@ -4,7 +4,7 @@ import shutil import tempfile import unittest -from .task import TaskWarrior +from .task import TaskWarrior, Task class TasklibTest(unittest.TestCase): @@ -23,34 +23,58 @@ class TaskFilterTest(TasklibTest): self.assertEqual(len(self.tw.tasks.all()), 0) def test_all_non_empty(self): - self.tw.execute_command(['add', 'test task']) + Task(self.tw, description="test task").save() self.assertEqual(len(self.tw.tasks.all()), 1) self.assertEqual(self.tw.tasks.all()[0]['description'], 'test task') self.assertEqual(self.tw.tasks.all()[0]['status'], 'pending') def test_pending_non_empty(self): - self.tw.execute_command(['add', 'test task']) + Task(self.tw, description="test task").save() self.assertEqual(len(self.tw.tasks.pending()), 1) self.assertEqual(self.tw.tasks.pending()[0]['description'], 'test task') self.assertEqual(self.tw.tasks.pending()[0]['status'], 'pending') def test_completed_empty(self): - self.tw.execute_command(['add', 'test task']) + Task(self.tw, description="test task").save() self.assertEqual(len(self.tw.tasks.completed()), 0) def test_completed_non_empty(self): - self.tw.execute_command(['add', 'test task']) + Task(self.tw, description="test task").save() self.assertEqual(len(self.tw.tasks.completed()), 0) self.tw.tasks.all()[0].done() self.assertEqual(len(self.tw.tasks.completed()), 1) + def test_filtering_by_attribute(self): + Task(self.tw, description="no priority task").save() + Task(self.tw, priority="H", description="high priority task").save() + self.assertEqual(len(self.tw.tasks.all()), 2) + + # Assert that the correct number of tasks is returned + self.assertEqual(len(self.tw.tasks.filter(priority="H")), 1) + + # Assert that the correct tasks are returned + high_priority_task = self.tw.tasks.get(priority="H") + self.assertEqual(high_priority_task['description'], "high priority task") + + def test_filtering_by_empty_attribute(self): + Task(self.tw, description="no priority task").save() + Task(self.tw, priority="H", description="high priority task").save() + self.assertEqual(len(self.tw.tasks.all()), 2) + + # Assert that the correct number of tasks is returned + self.assertEqual(len(self.tw.tasks.filter(priority=None)), 1) + + # Assert that the correct tasks are returned + no_priority_task = self.tw.tasks.get(priority=None) + self.assertEqual(no_priority_task['description'], "no priority task") + class AnnotationTest(TasklibTest): def setUp(self): super(AnnotationTest, self).setUp() - self.tw.execute_command(['add', 'test task']) + Task(self.tw, description="test task").save() def test_adding_annotation(self): task = self.tw.tasks.get() @@ -83,9 +107,9 @@ class AnnotationTest(TasklibTest): class UnicodeTest(TasklibTest): def test_unicode_task(self): - self.tw.execute_command(['add', '†åßk']) + Task(self.tw, description="†åßk").save() self.tw.tasks.get() def test_non_unicode_task(self): - self.tw.execute_command(['add', 'task']) + Task(self.tw, description="test task").save() self.tw.tasks.get()