    @Test
    public void update_TodoEntryNotFound_ShouldThrowException() {

        TodoDTO updatedTodoEntry = new TodoDTOBuilder()
                .id(ID)
                .description(DESCRIPTION)
                .title(TITLE)
                .build();

        when(repositoryMock.update(isA(Todo.class))).thenThrow(new TodoNotFoundException(""));

        catchException(service).update(updatedTodoEntry);
        assertThat(caughtException()).isExactlyInstanceOf(TodoNotFoundException.class);

        ArgumentCaptor<Todo> repositoryMethodArgument = ArgumentCaptor.forClass(Todo.class);

        verify(repositoryMock, times(1)).update(repositoryMethodArgument.capture());
        verifyNoMoreInteractions(repositoryMock);

        Todo repositoryMethodArgumentValue = repositoryMethodArgument.getValue();

        assertThatTodo(repositoryMethodArgumentValue)
                .hasDescription(DESCRIPTION)
                .hasId(ID)
                .hasTitle(TITLE)
                .creationTimeIsNotSet()
                .modificationTimeIsNotSet();
    }