@Override
  public String create(UserDto user) {
    UserDto userDto = requireNonNull(user, "User cannot be null");
    return hash(requireNonNull(emptyToNull(userDto.getEmail()), "Email cannot be null"));
  }
@Test
  public void fail_with_NP_when_email_is_null() {
    assertThatThrownBy(() -> underTest.create(UserTesting.newUserDto("john", "John", null)))
      .isInstanceOf(NullPointerException.class)
      .hasMessage("Email cannot be null");
  }