@Test public void shouldTransitionToMenuTreeOnceFourDayRecallTreeIsPlayed() { tamaIVRContext.callState(CallState.AUTHENTICATED); when(allPatients.get(null)) .thenReturn( PatientBuilder.startRecording() .withDefaults() .withCallPreference(CallPreference.FourDayRecall) .build()); tamaIVRContext.addLastCompletedTreeToListOfCompletedTrees(TAMATreeRegistry.FOUR_DAY_RECALL); tamaIVRContext.callDirection(CallDirection.Outbound); assertEquals( TAMATreeRegistry.MENU_TREE, tamaCallFlowController.decisionTreeName(kooKooIVRContext)); }
@Test public void shouldNotRepeatOutboxCallTreeMoreThanOnceDuringOutboxCall() { tamaIVRContext.callState(CallState.AUTHENTICATED); when(allPatients.get(null)) .thenReturn( PatientBuilder.startRecording() .withDefaults() .withCallPreference(CallPreference.DailyPillReminder) .build()); tamaIVRContext.addLastCompletedTreeToListOfCompletedTrees(TAMATreeRegistry.OUTBOX_CALL); tamaIVRContext.callDirection(CallDirection.Outbound); assertEquals( TAMATreeRegistry.MENU_TREE, tamaCallFlowController.decisionTreeName(kooKooIVRContext)); }
@Test public void shouldNotTransitionToCurrentDosageReminderTreeIsPlayed_AndUserEntersWillTakeLater() { tamaIVRContext.callState(CallState.AUTHENTICATED); when(allPatients.get(null)) .thenReturn( PatientBuilder.startRecording() .withDefaults() .withCallPreference(CallPreference.DailyPillReminder) .build()); tamaIVRContext.addLastCompletedTreeToListOfCompletedTrees( TAMATreeRegistry.CURRENT_DOSAGE_REMINDER); tamaIVRContext.callDirection(CallDirection.Outbound); assertEquals( TAMATreeRegistry.MENU_TREE, tamaCallFlowController.decisionTreeName(kooKooIVRContext)); }