ServicesProvidedRepository { @Transactional("service_provided") public void delete(ReportDataDeleteRequest request) { servicesProvidedRepository.deleteReportsFor(request.dristhiEntityId()); } protected  ServicesProvidedRepository(); @Autowired  ServicesProvidedRepository(@Qualifier("serviceProvidedIndicatorRepository") IndicatorCacheableRepository indicatorRepository,
                                      AllLocationsRepository locationRepository,
                                      AllServiceProvidersRepository serviceProvidersRepository,
                                      AllServicesProvidedRepository servicesProvidedRepository, Monitor monitor); @Transactional("service_provided") void save(String serviceProviderIdentifier, String serviceProviderType, String externalId, String indicator,
                     String date, String village, String subCenter, String phcIdentifier, String quantity, String dristhiEntityId); @Transactional("service_provided") void update(ReportDataUpdateRequest request); @Transactional("service_provided") List<ServiceProvidedReport> getNewReports(Integer token); @Transactional("service_provided") List<ServiceProvidedReport> getNewReports(Integer token, int numberOfRowsToFetch); @Transactional("service_provided") void delete(ReportDataDeleteRequest request);  }
@Test public void shouldDeleteAllReportsForGivenDristhiEntityID() throws Exception { ReportDataDeleteRequest request = new ReportDataDeleteRequest() .withType("type") .withDristhiEntityId("entity id 1"); repository.delete(request); verify(servicesProvidedRepository).deleteReportsFor("entity id 1"); }