Search in sources :

Example 51 with Arende

use of se.inera.intyg.webcert.persistence.arende.model.Arende in project webcert by sklintyg.

the class ArendeViewConverterTest method testConvertKompletteringWithoutInstans.

@SuppressWarnings("unchecked")
@Test
public void testConvertKompletteringWithoutInstans() throws ModuleNotFoundException {
    Arende arende = buildArende("lisjp");
    arende.setKomplettering(Arrays.asList(buildMedicinsktArende("1", null, "arende1")));
    ArendeView result = converter.convertToDto(arende);
    assertEquals(1, result.getKompletteringar().size());
    assertEquals(RespConstants.GRUNDFORMEDICINSKTUNDERLAG_SVAR_JSON_ID_1, result.getKompletteringar().get(0).getJsonPropertyHandle());
    assertEquals(new Integer(0), result.getKompletteringar().get(0).getPosition());
    assertEquals(VARDAKTOR_NAMN, result.getVardaktorNamn());
    assertEquals(ENHETS_NAMN, result.getEnhetsnamn());
    assertEquals(VARDGIVARE_NAMN, result.getVardgivarnamn());
    verify(moduleApi).getModuleSpecificArendeParameters(any(Utlatande.class), any(List.class));
}
Also used : LuseUtlatande(se.inera.intyg.common.luse.model.internal.LuseUtlatande) LisjpUtlatande(se.inera.intyg.common.lisjp.model.internal.LisjpUtlatande) MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) ImmutableList(com.google.common.collect.ImmutableList) ArendeView(se.inera.intyg.webcert.web.web.controller.api.dto.ArendeView) Test(org.junit.Test)

Example 52 with Arende

use of se.inera.intyg.webcert.persistence.arende.model.Arende in project webcert by sklintyg.

the class ArendeViewConverterTest method buildArende.

private Arende buildArende(String intygstyp) {
    Arende arende = new Arende();
    arende.setAmne(ArendeAmne.OVRIGT);
    arende.setIntygsId(intygsId);
    arende.setStatus(se.inera.intyg.webcert.persistence.model.Status.PENDING_INTERNAL_ACTION);
    arende.setMeddelandeId("meddelandeId");
    arende.setPatientPersonId("191212121212");
    arende.setTimestamp(LocalDateTime.now());
    arende.setIntygTyp(intygstyp);
    arende.setVardaktorName(VARDAKTOR_NAMN);
    arende.setEnhetId(ENHETS_ID);
    arende.setEnhetName(ENHETS_NAMN);
    arende.setVardgivareName(VARDGIVARE_NAMN);
    arende.setSkickatAv("Fragestallare");
    arende.setRubrik("rubrik");
    arende.setSistaDatumForSvar(LocalDateTime.now().plusDays(4).toLocalDate());
    MedicinsktArende medArende1 = buildMedicinsktArende("1", 1, "arende1");
    MedicinsktArende medArende2 = buildMedicinsktArende("2", 1, "arende1");
    MedicinsktArende medArende4 = buildMedicinsktArende("4", 2, "arende1");
    arende.setKomplettering(Arrays.asList(medArende1, medArende2, medArende4));
    return arende;
}
Also used : MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende)

Example 53 with Arende

use of se.inera.intyg.webcert.persistence.arende.model.Arende in project webcert by sklintyg.

the class ArendeViewConverterTest method nullListOfKompltIntygShouldThrowException.

@Test
public void nullListOfKompltIntygShouldThrowException() {
    // Given
    LocalDateTime fragaTimestamp = LocalDateTime.parse("2016-03-01T11:22:11");
    Arende fraga = createValidArendeForLuse("fraga", fragaTimestamp, "unique id of fraga", null);
    Arende svar = createValidArendeForLuse("svar", fragaTimestamp.plusMinutes(10), "unique id of svar", fraga);
    // When
    Throwable thrown = catchThrowable(() -> {
        converter.buildArendeConversations(fraga.getIntygsId(), ImmutableList.of(fraga, svar), null, Collections.emptyList());
    });
    // Then
    Assertions.assertThat(thrown).isInstanceOf(NullPointerException.class);
}
Also used : LocalDateTime(java.time.LocalDateTime) Assertions.catchThrowable(org.assertj.core.api.Assertions.catchThrowable) MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) Test(org.junit.Test)

Example 54 with Arende

use of se.inera.intyg.webcert.persistence.arende.model.Arende in project webcert by sklintyg.

the class ArendeViewConverterTest method ifMultipleKompltIntygClosestInTimeShouldBeChoosen.

@Test
public void ifMultipleKompltIntygClosestInTimeShouldBeChoosen() {
    // Given
    LocalDateTime fragaDate = LocalDateTime.parse("2016-03-01T11:22:11");
    Arende fraga = createValidArendeForLuse("fraga", fragaDate, "fraga-id", null);
    List<AnsweredWithIntyg> komplt = ImmutableList.of(createMatchingAnsweredWithIntyg(fraga, fragaDate.plusDays(3)), createMatchingAnsweredWithIntyg(fraga, fragaDate.plusDays(1)), createMatchingAnsweredWithIntyg(fraga, fragaDate.plusDays(2)));
    // When
    List<ArendeConversationView> messageThreads = converter.buildArendeConversations(fraga.getIntygsId(), ImmutableList.of(fraga), komplt, Collections.emptyList());
    // Then
    Assertions.assertThat(messageThreads).hasSize(1).extracting(ArendeConversationView::getAnsweredWithIntyg).contains(komplt.get(1));
}
Also used : LocalDateTime(java.time.LocalDateTime) ArendeConversationView(se.inera.intyg.webcert.web.web.controller.api.dto.ArendeConversationView) MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) AnsweredWithIntyg(se.inera.intyg.webcert.web.web.controller.api.dto.AnsweredWithIntyg) Test(org.junit.Test)

Example 55 with Arende

use of se.inera.intyg.webcert.persistence.arende.model.Arende in project webcert by sklintyg.

the class ArendeViewConverterTest method buildArendeConversationsTest.

@Test
public void buildArendeConversationsTest() {
    final LocalDateTime january = LocalDateTime.parse("2013-01-12T11:22:11");
    final LocalDateTime february = LocalDateTime.parse("2013-02-12T11:22:11");
    final LocalDateTime decemberYear9999 = LocalDateTime.parse("9999-12-11T10:22:00");
    List<Arende> arendeList = new ArrayList<>();
    arendeList.add(buildArende(UUID.randomUUID().toString(), decemberYear9999, february));
    arendeList.add(buildArende(UUID.randomUUID().toString(), january, january));
    // svar
    arendeList.get(1).setSvarPaId(arendeList.get(0).getMeddelandeId());
    arendeList.add(buildArende(UUID.randomUUID().toString(), decemberYear9999, decemberYear9999));
    arendeList.get(2).setAmne(ArendeAmne.PAMINN);
    // paminnelse
    arendeList.get(2).setPaminnelseMeddelandeId(arendeList.get(0).getMeddelandeId());
    arendeList.add(buildArende(UUID.randomUUID().toString(), february, february));
    arendeList.add(buildArende(UUID.randomUUID().toString(), decemberYear9999, decemberYear9999));
    arendeList.add(buildArende(UUID.randomUUID().toString(), january, january));
    List<ArendeConversationView> result = converter.buildArendeConversations(intygsId, arendeList, Collections.emptyList(), Collections.emptyList());
    assertEquals(4, result.size());
    assertEquals(1, result.get(0).getPaminnelser().size());
    assertEquals(arendeList.get(0).getMeddelandeId(), result.get(0).getFraga().getInternReferens());
    assertEquals(arendeList.get(1).getMeddelandeId(), result.get(0).getSvar().getInternReferens());
    assertEquals(arendeList.get(2).getMeddelandeId(), result.get(0).getPaminnelser().get(0).getInternReferens());
    assertEquals(arendeList.get(3).getMeddelandeId(), result.get(2).getFraga().getInternReferens());
    assertEquals(arendeList.get(4).getMeddelandeId(), result.get(1).getFraga().getInternReferens());
    assertEquals(arendeList.get(5).getMeddelandeId(), result.get(3).getFraga().getInternReferens());
    assertEquals(decemberYear9999, result.get(0).getSenasteHandelse());
    assertEquals(decemberYear9999, result.get(1).getSenasteHandelse());
    assertEquals(february, result.get(2).getSenasteHandelse());
    assertEquals(january, result.get(3).getSenasteHandelse());
}
Also used : LocalDateTime(java.time.LocalDateTime) ArendeConversationView(se.inera.intyg.webcert.web.web.controller.api.dto.ArendeConversationView) MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) Test(org.junit.Test)

Aggregations

Arende (se.inera.intyg.webcert.persistence.arende.model.Arende)125 MedicinsktArende (se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende)95 Test (org.junit.Test)88 Filter (se.inera.intyg.webcert.persistence.model.Filter)32 LocalDateTime (java.time.LocalDateTime)20 Utkast (se.inera.intyg.webcert.persistence.utkast.model.Utkast)20 Matchers.anyString (org.mockito.Matchers.anyString)17 WebCertServiceException (se.inera.intyg.webcert.common.service.exception.WebCertServiceException)16 WebCertUser (se.inera.intyg.webcert.web.service.user.dto.WebCertUser)15 ArendeConversationView (se.inera.intyg.webcert.web.web.controller.api.dto.ArendeConversationView)14 ArendeAmne (se.inera.intyg.webcert.persistence.arende.model.ArendeAmne)12 QueryFragaSvarParameter (se.inera.intyg.webcert.web.service.fragasvar.dto.QueryFragaSvarParameter)11 QueryFragaSvarResponse (se.inera.intyg.webcert.web.service.fragasvar.dto.QueryFragaSvarResponse)11 ArendeView (se.inera.intyg.webcert.web.web.controller.api.dto.ArendeView)8 ImmutableList (com.google.common.collect.ImmutableList)6 Signatur (se.inera.intyg.webcert.persistence.utkast.model.Signatur)6 NotificationEvent (se.inera.intyg.webcert.web.service.notification.NotificationEvent)6 ArendeListItem (se.inera.intyg.webcert.web.web.controller.api.dto.ArendeListItem)6 SendMessageToRecipientType (se.riv.clinicalprocess.healthcond.certificate.sendMessageToRecipient.v2.SendMessageToRecipientType)6 ArrayList (java.util.ArrayList)5