@Test public void shouldIgnoreThoseReportsWhichHaveEmptyMonthlySummary() throws Exception { List<MonthSummaryDatum> monthlySummaries = asList(new MonthSummaryDatum("10", "2012", "2", "2", asList("123", "456"))); Report iudReport = new Report("IUD", "40", new Gson().toJson(monthlySummaries)); Report condomReport = new Report("CONDOM", "30", "[]"); when(allReports.allFor(anyList())).thenReturn(asList(iudReport, condomReport)); String indicatorReports = controller.get(); IndicatorReport iud = new IndicatorReport("IUD", "IUD Adoption", "40", "2", "10", "2012", "2"); String expectedIndicatorReports = new Gson().toJson(new CategoryReports("Family Planning Services", asList(iud))); assertEquals(expectedIndicatorReports, indicatorReports); }
@Test public void shouldUseLatestMonthDataIfCurrentMonthDataNotAvailable() throws Exception { List<MonthSummaryDatum> monthlySummaries = asList( new MonthSummaryDatum("6", "2012", "2", "2", asList("123", "456")), new MonthSummaryDatum("8", "2012", "2", "4", asList("321", "654"))); Report iudReport = new Report("IUD", "40", new Gson().toJson(monthlySummaries)); when(allReports.allFor(FPS.indicators())).thenReturn(asList(iudReport)); String indicatorReports = controller.get(); IndicatorReport iud = new IndicatorReport("IUD", "IUD Adoption", "40", "0", "10", "2012", "4"); String expectedIndicatorReports = new Gson().toJson(new CategoryReports("Family Planning Services", asList(iud))); assertEquals(expectedIndicatorReports, indicatorReports); }
@Test public void shouldUseCurrentMonthDataForIndicatorReport() throws Exception { List<MonthSummaryDatum> monthlySummaries = asList( new MonthSummaryDatum("1", "2012", "2", "2", asList("123", "456")), new MonthSummaryDatum("10", "2012", "2", "4", asList("321", "654"))); Report earlyANCRegistrationReport = new Report("ANC_LT_12", "40", new Gson().toJson(monthlySummaries)); when(allReports.allFor(ANC_SERVICES.indicators())) .thenReturn(asList(earlyANCRegistrationReport)); controller = new ReportIndicatorListViewController(context, allReports, ANC_SERVICES.value()); String reports = controller.get(); IndicatorReport earlyANCRegistration = new IndicatorReport( "EARLY_ANC_REGISTRATIONS", "Early ANC Registration", "40", "2", "10", "2012", "4"); String expectedIndicatorReports = new Gson().toJson(new CategoryReports("ANC Services", asList(earlyANCRegistration))); assertEquals(expectedIndicatorReports, reports); }