@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();
}