Search in sources :

Example 41 with Arende

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

the class ArendeServiceTest method closeArendeAsHandledAnswerTest.

@Test
public void closeArendeAsHandledAnswerTest() {
    Arende arende = buildArende(MEDDELANDE_ID, null);
    arende.setSkickatAv(FrageStallare.WEBCERT.getKod());
    arende.setStatus(Status.ANSWERED);
    when(arendeRepository.findOneByMeddelandeId(MEDDELANDE_ID)).thenReturn(arende);
    // there
    when(arendeRepository.findBySvarPaId(MEDDELANDE_ID)).thenReturn(Arrays.asList(buildArende(UUID.randomUUID().toString(), null)));
    // are
    // answers
    service.closeArendeAsHandled(MEDDELANDE_ID, INTYG_TYP);
    ArgumentCaptor<Arende> arendeCaptor = ArgumentCaptor.forClass(Arende.class);
    verify(arendeRepository).save(arendeCaptor.capture());
    assertEquals(Status.CLOSED, arendeCaptor.getValue().getStatus());
    verify(notificationService).sendNotificationForQAs(INTYG_ID, NotificationEvent.QUESTION_FROM_CARE_WITH_ANSWER_HANDLED);
    verify(fragaSvarService, never()).closeQuestionAsHandled(anyLong());
    verify(arendeDraftService).delete(INTYG_ID, MEDDELANDE_ID);
}
Also used : MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) Test(org.junit.Test)

Example 42 with Arende

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

the class ArendeServiceTest method answerUpdatesQuestionTest.

@Test
public void answerUpdatesQuestionTest() throws CertificateSenderException {
    final String svarPaMeddelandeId = "svarPaMeddelandeId";
    Arende fraga = buildArende(svarPaMeddelandeId, null);
    fraga.setAmne(ArendeAmne.OVRIGT);
    fraga.setMeddelandeId(svarPaMeddelandeId);
    fraga.setStatus(Status.PENDING_INTERNAL_ACTION);
    fraga.setPatientPersonId(PERSON_ID);
    when(arendeRepository.findOneByMeddelandeId(svarPaMeddelandeId)).thenReturn(fraga);
    when(webcertUserService.isAuthorizedForUnit(isNull(), anyBoolean())).thenReturn(true);
    when(webcertUserService.getUser()).thenReturn(new WebCertUser());
    ArendeConversationView result = service.answer(svarPaMeddelandeId, "svarstext");
    assertNotNull(result.getFraga());
    assertNotNull(result.getSvar());
    assertEquals(FIXED_TIME_INSTANT, result.getSenasteHandelse().toInstant(ZoneId.systemDefault().getRules().getOffset(FIXED_TIME_INSTANT)));
    verify(webcertUserService).isAuthorizedForUnit(isNull(), anyBoolean());
    verify(monitoringLog).logArendeCreated(anyString(), anyString(), isNull(), any(ArendeAmne.class), anyBoolean());
    verify(certificateSenderService).sendMessageToRecipient(anyString(), anyString());
    verify(notificationService).sendNotificationForQAs(INTYG_ID, NotificationEvent.NEW_ANSWER_FROM_CARE);
    ArgumentCaptor<Arende> arendeCaptor = ArgumentCaptor.forClass(Arende.class);
    verify(arendeRepository, times(2)).save(arendeCaptor.capture());
    verify(arendeDraftService).delete(INTYG_ID, svarPaMeddelandeId);
    Arende updatedQuestion = arendeCaptor.getAllValues().get(1);
    assertEquals(FIXED_TIME_INSTANT, updatedQuestion.getSenasteHandelse().toInstant(ZoneId.systemDefault().getRules().getOffset(FIXED_TIME_INSTANT)));
    assertEquals(Status.CLOSED, updatedQuestion.getStatus());
}
Also used : ArendeConversationView(se.inera.intyg.webcert.web.web.controller.api.dto.ArendeConversationView) ArendeAmne(se.inera.intyg.webcert.persistence.arende.model.ArendeAmne) MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) Matchers.anyString(org.mockito.Matchers.anyString) WebCertUser(se.inera.intyg.webcert.web.service.user.dto.WebCertUser) Test(org.junit.Test)

Example 43 with Arende

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

the class SendMessageToCareResponderImplTest method testSendRequestToService.

@Test
public void testSendRequestToService() throws WebCertServiceException {
    when(arendeService.processIncomingMessage(any())).thenReturn(new Arende());
    SendMessageToCareResponseType response = responder.sendMessageToCare(DEFAULT_LOGICAL_ADDRESS, createNewRequest());
    assertNotNull(response.getResult());
    assertEquals(response.getResult().getResultCode(), ResultCodeType.OK);
}
Also used : SendMessageToCareResponseType(se.riv.clinicalprocess.healthcond.certificate.sendMessageToCare.v2.SendMessageToCareResponseType) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) Test(org.junit.Test)

Example 44 with Arende

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

the class ArendeListItemConverterTest method testConvertArendeVidarebefordradNull.

@Test
public void testConvertArendeVidarebefordradNull() {
    Arende arende = createArende(ArendeAmne.KONTKT, "intygsId", "intygTyp", "meddelandeId", "patientPersonId", "signeratAvName", "skickatAv", LocalDateTime.now(), Status.ANSWERED, null, "enhetsnamn", "vardgivarnamn");
    ArendeListItem result = ArendeListItemConverter.convert(arende);
    assertEquals(false, result.isVidarebefordrad());
}
Also used : ArendeListItem(se.inera.intyg.webcert.web.web.controller.api.dto.ArendeListItem) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) Test(org.junit.Test)

Example 45 with Arende

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

the class ArendeListItemConverterTest method createArende.

private Arende createArende(ArendeAmne amne, String intygsId, String intygTyp, String meddelandeId, String patientPersonId, String signeratAvName, String skickatAv, LocalDateTime senasteHandelse, Status status, Boolean vidarebefordrad, String enhetName, String vardgivareName) {
    Arende arende = new Arende();
    arende.setAmne(amne);
    arende.setIntygsId(intygsId);
    arende.setIntygTyp(intygTyp);
    arende.setMeddelandeId(meddelandeId);
    arende.setPatientPersonId(patientPersonId);
    arende.setSigneratAvName(signeratAvName);
    arende.setSkickatAv(skickatAv);
    arende.setSenasteHandelse(senasteHandelse);
    arende.setStatus(status);
    arende.setVidarebefordrad(vidarebefordrad);
    arende.setEnhetName(enhetName);
    arende.setVardgivareName(vardgivareName);
    return arende;
}
Also used : Arende(se.inera.intyg.webcert.persistence.arende.model.Arende)

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