@Test public void shouldFetchAlertActionsAndSaveThemToRepository() throws Exception { setupActions( success, asList( ActionBuilder.actionForCreateAlert( "Case X", "due", "Theresa", "ANC 1", "Thaayi 1", "0", "bherya", "Sub Center", "PHC X", "2012-01-01"))); assertEquals(fetched, service.fetchNewActions()); verify(drishtiService).fetchNewActions("ANM X", "1234"); verify(allAlerts) .handleAction( ActionBuilder.actionForCreateAlert( "Case X", "due", "Theresa", "ANC 1", "Thaayi 1", "0", "bherya", "Sub Center", "PHC X", "2012-01-01")); }
@Test public void shouldHandleDifferentKindsOfActions() throws Exception { Action ecAction = actionForCreateEC( "Case X", "Wife 1", "Husband 1", "EC Number", "IUD", "Village 1", "SubCenter 1", "PHC X"); Action alertAction = actionForCreateAlert( "Case X", "due", "Theresa", "ANC 1", "Thaayi 1", "0", "bherya", "Sub Center", "PHC X", "2012-01-01"); setupActions(success, asList(ecAction, alertAction)); service.fetchNewActions(); InOrder inOrder = inOrder(allEligibleCouples, allAlerts); inOrder.verify(allEligibleCouples).handleAction(ecAction); inOrder.verify(allAlerts).handleAction(alertAction); }
@Test public void shouldFetchECAndSaveThemToRepository() throws Exception { setupActions( success, asList( actionForCreateEC( "Case X", "Wife 1", "Husband 1", "EC Number", "IUD", "Village 1", "SubCenter 1", "PHC X"))); assertEquals(fetched, service.fetchNewActions()); verify(drishtiService).fetchNewActions("ANM X", "1234"); verify(allEligibleCouples) .handleAction( actionForCreateEC( "Case X", "Wife 1", "Husband 1", "EC Number", "IUD", "Village 1", "SubCenter 1", "PHC X")); }
@Test public void shouldNotSaveAnythingIfTheDrishtiResponseStatusIsFailure() throws Exception { setupActions(failure, asList(actionForDeleteAlert("Case X", "ANC 1", "0"))); assertEquals(fetchedFailed, service.fetchNewActions()); verify(drishtiService).fetchNewActions("ANM X", "1234"); verifyNoMoreInteractions(drishtiService); verifyNoMoreInteractions(allAlerts); }
@Test public void shouldFetchAlertActionsAndNotSaveAnythingIfThereIsNothingNewToSave() throws Exception { setupActions(success, new ArrayList<Action>()); assertEquals(nothingFetched, service.fetchNewActions()); verify(drishtiService).fetchNewActions("ANM X", "1234"); verifyNoMoreInteractions(drishtiService); verifyNoMoreInteractions(allAlerts); }
@Test public void shouldUpdatePreviousIndexWithIndexOfLatestAlert() throws Exception { String indexOfLastMessage = "12345"; setupActions( success, asList( actionForCreateAlert( "Case X", "due", "Theresa", "ANC 1", "Thaayi 1", "11111", "bherya", "Sub Center", "PHC X", "2012-01-01"), actionForCreateAlert( "Case Y", "due", "Theresa", "ANC 2", "Thaayi 2", indexOfLastMessage, "bherya", null, null, "2012-01-01"))); when(allAlerts.fetchAll()) .thenReturn( asList( new Alert("Case X", "Theresa", "bherya", "ANC 1", "Thaayi 1", 1, "2012-01-01"), new Alert("Case Y", "Theresa", "bherya", "ANC 2", "Thaayi 2", 1, "2012-01-01"))); service.fetchNewActions(); verify(allSettings).savePreviousFetchIndex(indexOfLastMessage); }