use of org.hisp.dhis.program.message.ProgramMessage in project dhis2-core by dhis2.
the class ProgramMessageServiceTest method testSaveProgramMessage.
@Test
void testSaveProgramMessage() {
Long pmsgAId = null;
pmsgAId = programMessageService.saveProgramMessage(pmsgA);
assertNotNull(pmsgAId);
ProgramMessage programMessage = programMessageService.getProgramMessage(pmsgAId.intValue());
assertTrue(programMessage.equals(pmsgA));
}
use of org.hisp.dhis.program.message.ProgramMessage in project dhis2-core by dhis2.
the class ProgramMessageStoreTest method testGetProgramMessage.
// -------------------------------------------------------------------------
// Tests
// -------------------------------------------------------------------------
@Test
void testGetProgramMessage() {
programMessageStore.save(pmsgA);
Long id = pmsgA.getId();
ProgramMessage actual = programMessageStore.get(id.intValue());
assertNotNull(id);
assertNotNull(actual);
assertTrue(actual.equals(pmsgA));
}
use of org.hisp.dhis.program.message.ProgramMessage in project dhis2-core by dhis2.
the class ProgramNotificationServiceTest method testOuContactRecipient.
@Test
void testOuContactRecipient() {
when(programInstanceStore.get(anyLong())).thenReturn(programInstances.iterator().next());
when(programMessageService.sendMessages(anyList())).thenAnswer(invocation -> {
sentProgramMessages.addAll((List<ProgramMessage>) invocation.getArguments()[0]);
return new BatchResponseStatus(Collections.emptyList());
});
when(programNotificationRenderer.render(any(ProgramInstance.class), any(NotificationTemplate.class))).thenReturn(notificationMessage);
programNotificationTemplate.setNotificationRecipient(ProgramNotificationRecipient.ORGANISATION_UNIT_CONTACT);
programNotificationService.sendEnrollmentNotifications(programInstances.iterator().next().getId());
assertEquals(1, sentProgramMessages.size());
ProgramMessage programMessage = sentProgramMessages.iterator().next();
assertEquals(OrganisationUnit.class, programMessage.getRecipients().getOrganisationUnit().getClass());
assertEquals(lvlTwoLeftLeft, programMessage.getRecipients().getOrganisationUnit());
assertEquals(programMessage.getNotificationTemplate(), notificationTemplate);
}
use of org.hisp.dhis.program.message.ProgramMessage in project dhis2-core by dhis2.
the class ProgramNotificationServiceTest method testProgramAttributeRecipientWithEMAIL.
@Test
void testProgramAttributeRecipientWithEMAIL() {
when(programInstanceStore.get(anyLong())).thenReturn(programInstances.iterator().next());
when(programMessageService.sendMessages(anyList())).thenAnswer(invocation -> {
sentProgramMessages.addAll((List<ProgramMessage>) invocation.getArguments()[0]);
return new BatchResponseStatus(Collections.emptyList());
});
when(programNotificationRenderer.render(any(ProgramInstance.class), any(NotificationTemplate.class))).thenReturn(notificationMessage);
programNotificationTemplate.setNotificationRecipient(ProgramNotificationRecipient.PROGRAM_ATTRIBUTE);
programNotificationTemplate.setRecipientProgramAttribute(trackedEntityAttribute);
programNotificationTemplate.setDeliveryChannels(Sets.newHashSet(DeliveryChannel.EMAIL));
programNotificationService.sendEnrollmentNotifications(programInstances.iterator().next().getId());
assertEquals(1, sentProgramMessages.size());
ProgramMessage programMessage = sentProgramMessages.iterator().next();
assertTrue(programMessage.getRecipients().getEmailAddresses().contains(ATT_EMAIL));
assertTrue(programMessage.getDeliveryChannels().contains(DeliveryChannel.EMAIL));
assertEquals(programMessage.getNotificationTemplate(), notificationTemplate);
}
use of org.hisp.dhis.program.message.ProgramMessage in project dhis2-core by dhis2.
the class MaintenanceServiceTest method testDeleteSoftDeletedTrackedEntityInstanceAProgramMessage.
@Test
void testDeleteSoftDeletedTrackedEntityInstanceAProgramMessage() {
ProgramMessageRecipients programMessageRecipients = new ProgramMessageRecipients();
programMessageRecipients.setEmailAddresses(Sets.newHashSet("testemail"));
programMessageRecipients.setPhoneNumbers(Sets.newHashSet("testphone"));
programMessageRecipients.setOrganisationUnit(organisationUnit);
programMessageRecipients.setTrackedEntityInstance(entityInstanceB);
ProgramMessage message = ProgramMessage.builder().subject("subject").text("text").recipients(programMessageRecipients).deliveryChannels(Sets.newHashSet(DeliveryChannel.EMAIL)).build();
long idA = entityInstanceService.addTrackedEntityInstance(entityInstanceB);
programMessageService.saveProgramMessage(message);
assertNotNull(entityInstanceService.getTrackedEntityInstance(idA));
entityInstanceService.deleteTrackedEntityInstance(entityInstanceB);
assertNull(entityInstanceService.getTrackedEntityInstance(idA));
assertTrue(entityInstanceService.trackedEntityInstanceExistsIncludingDeleted(entityInstanceB.getUid()));
maintenanceService.deleteSoftDeletedTrackedEntityInstances();
assertFalse(entityInstanceService.trackedEntityInstanceExistsIncludingDeleted(entityInstanceB.getUid()));
}
Aggregations