### Question:
MongoDbUserRepository implements UserRepository { @Override public void delete(User item) { template.remove(query(where("_id").is(item.getId()))); }  @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); void setTemplate(MongoUserOperations template); void setStatisticsAggregator(StatisticsAggregator statisticsAggregator);  }### Answer:
@Test public void delete_Valid(){ User item = new UserImpl(); ((UserImpl)item).setId("777"); template.remove(query(where("_id").is(item.getId()))); expectLastCall(); replay(template); userRepository.delete(item); verify(template); }