ANMReportsRepository { @Transactional("anm_report") public void delete(ReportDataDeleteRequest request) { anmReportDataRepository.deleteReportsForExternalId(request.dristhiEntityId()); } protected  ANMReportsRepository(); @Autowired  ANMReportsRepository(ANMCacheableRepository anmRepository,
                                @Qualifier("anmReportsIndicatorRepository") IndicatorCacheableRepository indicatorRepository,
                                AllANMReportDataRepository anmReportDataRepository,
                                AllAnnualTargetsRepository annualTargetsRepository, Monitor monitor, ReportMonth reportMonth); @Transactional("anm_report") void save(String anmIdentifier, String externalId, String indicator, String date, String quantity); @Transactional("anm_report") List<ANMIndicatorSummary> fetchANMSummary(String anmIdentifier); @Transactional("anm_report") List<ANMReport> fetchAllANMsReport(); @Transactional("anm_report") void update(ReportDataUpdateRequest request); @Transactional("anm_report") List getReportsFor(String anmId, String startDate, String endDate); @Transactional("anm_report") void delete(ReportDataDeleteRequest request);  }
@Test public void shouldDeleteANMReportsForGivenExternalId() { ReportDataDeleteRequest request = new ReportDataDeleteRequest() .withType("type") .withDristhiEntityId("entity id 1"); repository.delete(request); verify(anmReportDataRepository).deleteReportsForExternalId("entity id 1"); }