### Question:
JpaUserRepository implements UserRepository { @Override public User getByUserEmail(String userEmail) { TypedQuery<JpaUser> query = manager.createNamedQuery(JpaUser.USER_GET_BY_USER_EMAIL, JpaUser.class); query.setParameter(JpaUser.PARAM_EMAIL, userEmail); return getSingleResult(query.getResultList()); }  @Override User getByUsername(String username); @Override User getByUserEmail(String userEmail); @Override User getByOpenId(String openId); @Override List<User> getAll(); @Override List<User> getLimitedList(int offset, int pageSize); @Override int getCountAll(); @Override List<User> findByUsernameOrEmail(String searchTerm, int offset, int pageSize); @Override int getCountByUsernameOrEmail(String searchTerm); @Override List<User> getAllByAddedWidget(String widgetId); @Override User getByForgotPasswordHash(String hash); @Override Class<? extends User> getType(); @Override User get(String id); @Override User save(User item); @Override void delete(User item);  }### Answer:
@Test public void getByUserEmail_valid() { JpaUser user = (JpaUser)repository.getByUserEmail(USER_EMAIL); assertThat(user, notNullValue()); assertThat(user.getEntityId(), is(equalTo(USER_ID))); assertThat(true, is(passwordEncoder.matches(USER_NAME, user.getPassword()))); assertThat(user.isAccountNonExpired(), is(true)); assertThat(user.getEmail(), is(equalTo(USER_EMAIL))); }