Esempio n. 1
0
    def test_search_with_empty_query_data_should_return_entire_list(self):
        self.task_service.add(
            TaskAddCommand(description='primo task', tags=['#abc', '#def'])
        )
        self.task_service.add(
            TaskAddCommand(description='secondo task', tags=['#abc'])
        )

        search_command = TaskSearchCommand(description='', tags=[])
        filtered_tasks = self.task_service.search(search_command)

        self.assertEqual(2, len(filtered_tasks))
Esempio n. 2
0
    def test_search_description_and_tags_should_return_filtered_list(self):
        self.task_service.add(
            TaskAddCommand(description='primo task', tags=['#abc', '#def', '#ghi'])
        )
        self.task_service.add(
            TaskAddCommand(description='secondo task', tags=['#abc', '#zxc'])
        )

        search_command = TaskSearchCommand(description='primo', tags=['#abc', '#def'])
        filtered_tasks = self.task_service.search(search_command)

        self.assertEqual(1, len(filtered_tasks))
        self.assertEqual('primo task', filtered_tasks[0].description)
Esempio n. 3
0
    def test_from_json_str(self):
        json_str = '{"description":"nuovo task", "tags":"#abd #def"}'
        command = TaskAddCommand.from_json_str(json_str)

        self.assertIsNotNone(command)
        self.assertEqual('nuovo task', command.description)
        self.assertEqual(2, len(command.tags))
Esempio n. 4
0
    def test_done_with_valid_id_should_update_the_right_task(self):
        add_command = TaskAddCommand(description='nuovo task', tags=[])
        task: Task = self.task_service.add(add_command)
        uuid_to_update = task.uuid
        self.task_service.mark_as_done(uuid_to_update)
        read_task: Task = self.task_service.get(uuid_to_update)

        self.assertEqual(1, read_task.done)
Esempio n. 5
0
    def test_delete_with_valid_id_should_remove_the_right_task(self):
        command = TaskAddCommand(description='nuovo task', tags=[])
        task: Task = self.task_service.add(command)
        num_tasks_after_insert: int = len(self.task_service.list())
        uuid_to_delete = task.uuid
        self.task_service.delete(uuid_to_delete)
        num_tasks_after_delete: int = len(self.task_service.list())

        self.assertEqual(1, num_tasks_after_insert)
        self.assertEqual(0, num_tasks_after_delete)
Esempio n. 6
0
    def test_add_should_return_just_created_task(self):
        command = TaskAddCommand(description='nuovo task', tags=['#abc', '#def'])
        task: Task = self.task_service.add(command)
        num_tasks_after_insert: int = len(self.task_service.list())

        self.assertIsNotNone(task)
        self.assertRegex(task.uuid, r'%s' % UUID4_REGEX)
        self.assertEqual(command.description, task.description)
        self.assertEqual(1, num_tasks_after_insert)
        self.assertEqual(2, len(task.tags))
Esempio n. 7
0
    def test_update_with_valid_id_should_update_the_right_task(self):
        add_command = TaskAddCommand(description='nuovo task', tags=[])
        task: Task = self.task_service.add(add_command)
        uuid_to_update = task.uuid
        update_command = TaskUpdateCommand(description='task modificato', tags=['#abc'])
        self.task_service.update(uuid_to_update, update_command)
        read_task: Task = self.task_service.get(uuid_to_update)

        self.assertEqual('task modificato', read_task.description)
        self.assertEqual(1, len(read_task.tags))
        self.assertEqual('#abc', read_task.tags[0])
Esempio n. 8
0
    def test_from_command(self):
        command = TaskAddCommand(description='nuovo task',
                                 tags=['#abc', '#def'])
        task = Task.from_command(command)

        self.assertIsNotNone(task)
        self.assertRegex(task.uuid, r'%s' % UUID4_REGEX)
        self.assertEqual(command.description, task.description)
        self.assertEqual(0, task.done)
        self.assertEqual(2, len(task.tags))
        self.assertEqual('#abc', task.tags[0])
        self.assertEqual('#def', task.tags[1])
Esempio n. 9
0
def tasks_add(task_service: TaskService) -> Task:
    command = TaskAddCommand.from_json_str(request.get_data())
    return jsonify(task_service.add(command))