use of se.inera.intyg.common.support.common.enumerations.HandelsekodEnum in project webcert by sklintyg.
the class NotificationTypeConverterTest method testNotUpdatingExistingValues.
@Test
public void testNotUpdatingExistingValues() {
final String intygsId = "intygsid";
final String arbetsplatskod = "ARBETSPLATSKOD";
final String epost = "EPOST";
final LocalDateTime handelsetid = LocalDateTime.now().minusDays(1);
final HandelsekodEnum handelsetyp = HandelsekodEnum.ANDRAT;
Intyg intyg = buildIntyg();
Enhet enhet = intyg.getSkapadAv().getEnhet();
enhet.getArbetsplatskod().setExtension(arbetsplatskod);
enhet.setEpost(epost);
NotificationMessage msg = new NotificationMessage(intygsId, "luse", handelsetid, handelsetyp, "address", "", null, new ArendeCount(4, 3, 2, 1), new ArendeCount(4, 3, 2, 1), SchemaVersion.VERSION_3, "ref");
CertificateStatusUpdateForCareType res = NotificationTypeConverter.convert(msg, intyg);
assertEquals(arbetsplatskod, res.getIntyg().getSkapadAv().getEnhet().getArbetsplatskod().getExtension());
assertEquals(epost, res.getIntyg().getSkapadAv().getEnhet().getEpost());
}
use of se.inera.intyg.common.support.common.enumerations.HandelsekodEnum in project webcert by sklintyg.
the class NotificationTypeConverterTest method testConvertWhenHandelsekodIsNYFRFM.
@Test
public void testConvertWhenHandelsekodIsNYFRFM() throws Exception {
final String intygsId = "intygsid";
final LocalDateTime handelsetid = LocalDateTime.now().minusDays(1);
final LocalDate sistaSvarsDatum = LocalDate.now().plusWeeks(3);
final HandelsekodEnum handelsetyp = HandelsekodEnum.NYFRFM;
final Amneskod amneskod = AmneskodCreator.create("KOMPLT", "Komplettering");
final int skickadeFragorTotalt = 8;
final int skickadeFragorHanterade = 7;
final int skickadeFragorBesvarade = 6;
final int skickadeFragorEjBesvarade = 5;
final int mottagnaFragorTotalt = 4;
final int mottagnaFragorHanterade = 3;
final int mottagnaFragorBesvarade = 2;
final int mottagnaFragorEjBesvarade = 1;
final Intyg intyg = buildIntyg();
ArendeCount skickadeFragor = new ArendeCount(skickadeFragorTotalt, skickadeFragorEjBesvarade, skickadeFragorBesvarade, skickadeFragorHanterade);
ArendeCount mottagnaFragor = new ArendeCount(mottagnaFragorTotalt, mottagnaFragorEjBesvarade, mottagnaFragorBesvarade, mottagnaFragorHanterade);
NotificationMessage msg = new NotificationMessage(intygsId, "luse", handelsetid, handelsetyp, "address", "", null, skickadeFragor, mottagnaFragor, SchemaVersion.VERSION_3, "ref", amneskod, sistaSvarsDatum);
CertificateStatusUpdateForCareType res = NotificationTypeConverter.convert(msg, intyg);
assertEquals(intyg, res.getIntyg());
assertEquals(HandelsekodEnum.NYFRFM.value(), res.getHandelse().getHandelsekod().getCode());
assertEquals(HandelsekodEnum.NYFRFM.description(), res.getHandelse().getHandelsekod().getDisplayName());
assertEquals(handelsetid, res.getHandelse().getTidpunkt());
assertEquals(sistaSvarsDatum, res.getHandelse().getSistaDatumForSvar());
assertEquals(amneskod.getCode(), res.getHandelse().getAmne().getCode());
assertEquals(amneskod.getCodeSystem(), res.getHandelse().getAmne().getCodeSystem());
assertEquals(amneskod.getDisplayName(), res.getHandelse().getAmne().getDisplayName());
assertSkickadeFrågor(skickadeFragorTotalt, skickadeFragorHanterade, skickadeFragorBesvarade, skickadeFragorEjBesvarade, res);
assertMottagnaFragor(mottagnaFragorTotalt, mottagnaFragorHanterade, mottagnaFragorBesvarade, mottagnaFragorEjBesvarade, res);
// Make sure we have a valid Intyg according to service contract
assertEquals(NotificationTypeConverter.TEMPORARY_ARBETSPLATSKOD, res.getIntyg().getSkapadAv().getEnhet().getArbetsplatskod().getExtension());
assertNull(res.getIntyg().getSkapadAv().getEnhet().getEpost());
}
use of se.inera.intyg.common.support.common.enumerations.HandelsekodEnum in project webcert by sklintyg.
the class NotificationTypeConverterTest method testConvert.
@Test
public void testConvert() throws Exception {
final String intygsId = "intygsid";
final LocalDateTime handelsetid = LocalDateTime.now().minusDays(1);
final HandelsekodEnum handelsetyp = HandelsekodEnum.ANDRAT;
final int skickadeFragorTotalt = 8;
final int skickadeFragorHanterade = 7;
final int skickadeFragorBesvarade = 6;
final int skickadeFragorEjBesvarade = 5;
final int mottagnaFragorTotalt = 4;
final int mottagnaFragorHanterade = 3;
final int mottagnaFragorBesvarade = 2;
final int mottagnaFragorEjBesvarade = 1;
final Intyg intyg = buildIntyg();
ArendeCount skickadeFragor = new ArendeCount(skickadeFragorTotalt, skickadeFragorEjBesvarade, skickadeFragorBesvarade, skickadeFragorHanterade);
ArendeCount mottagnaFragor = new ArendeCount(mottagnaFragorTotalt, mottagnaFragorEjBesvarade, mottagnaFragorBesvarade, mottagnaFragorHanterade);
NotificationMessage msg = new NotificationMessage(intygsId, "luse", handelsetid, handelsetyp, "address", "", null, skickadeFragor, mottagnaFragor, SchemaVersion.VERSION_3, "ref");
CertificateStatusUpdateForCareType res = NotificationTypeConverter.convert(msg, intyg);
assertEquals(intyg, res.getIntyg());
assertEquals(HandelsekodEnum.ANDRAT.value(), res.getHandelse().getHandelsekod().getCode());
assertEquals(HandelsekodEnum.ANDRAT.description(), res.getHandelse().getHandelsekod().getDisplayName());
assertEquals(handelsetid, res.getHandelse().getTidpunkt());
assertNotNull(res.getHandelse().getHandelsekod().getCodeSystem());
// handelsekod -> codeSystemName is not valid in schema but incorrectly generated in java class
// therefore we should not populate this field
assertNull(res.getHandelse().getHandelsekod().getCodeSystemName());
assertSkickadeFrågor(skickadeFragorTotalt, skickadeFragorHanterade, skickadeFragorBesvarade, skickadeFragorEjBesvarade, res);
assertMottagnaFragor(mottagnaFragorTotalt, mottagnaFragorHanterade, mottagnaFragorBesvarade, mottagnaFragorEjBesvarade, res);
// Make sure we have a valid Intyg according to service contract
assertEquals(NotificationTypeConverter.TEMPORARY_ARBETSPLATSKOD, res.getIntyg().getSkapadAv().getEnhet().getArbetsplatskod().getExtension());
assertNull(res.getIntyg().getSkapadAv().getEnhet().getEpost());
}
use of se.inera.intyg.common.support.common.enumerations.HandelsekodEnum in project webcert by sklintyg.
the class NotificationMessageDiscardFilterTest method buildMsgList.
private List<Message> buildMsgList(HandelsekodEnum... typer) throws JsonProcessingException {
List<Message> msgList = new ArrayList<>();
String intygsId = UUID.randomUUID().toString();
for (HandelsekodEnum ht : typer) {
DefaultMessage df = new DefaultMessage();
df.setBody(om.writeValueAsString(buildNotificationMessage(intygsId, ht)));
msgList.add(df);
}
return msgList;
}
use of se.inera.intyg.common.support.common.enumerations.HandelsekodEnum in project webcert by sklintyg.
the class NotificationServiceImpl method createAndSendNotificationForQAs.
protected void createAndSendNotificationForQAs(Utkast utkast, NotificationEvent event, ArendeAmne amne, LocalDate sistaDatumForSvar) {
Optional<SchemaVersion> version = sendNotificationStrategy.decideNotificationForIntyg(utkast);
if (!version.isPresent()) {
LOGGER.debug("Schema version is not present. Notification message not sent");
return;
}
HandelsekodEnum handelse = null;
if (SchemaVersion.VERSION_3 == version.get()) {
handelse = getHandelseV3(event);
} else {
handelse = getHandelseV1(event);
}
if (handelse == null) {
LOGGER.debug("Notification message not sent for event {} in version {}", event.name(), version.get().name());
return;
}
createAndSendNotification(utkast, handelse, amne, sistaDatumForSvar, version.get());
}
Aggregations