Search in sources :

Example 96 with Arende

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

the class ArendeConverterTest method testConvertArende.

@Test
public void testConvertArende() {
    final ArendeAmne amneskod = ArendeAmne.AVSTMN;
    final String intygId = "intygId";
    final String kontaktInfo = "kontaktInfo";
    final String skickatAv = PARTKOD_FKASSA;
    final String frageId = "frageId";
    final Integer instans = 1;
    final String kompletteringsText = "kompletteringsText";
    final String meddelande = "meddelande";
    final String meddelandeId = "meddelandeId";
    final String paminnelseMeddelandeId = "paminnelseMeddelandeId";
    final String personId = "personId";
    final String referensId = "referensId";
    final String rubrik = "rubrik";
    final LocalDate sistaDatum = LocalDate.now();
    final LocalDateTime skickatTidpunkt = LocalDateTime.now();
    final String svarPa = "svarPa";
    final String svarReferensId = "svarReferensId";
    SendMessageToCareType input = createSendMessageToCare(amneskod.name(), intygId, kontaktInfo, skickatAv, frageId, instans, kompletteringsText, meddelande, meddelandeId, paminnelseMeddelandeId, personId, referensId, rubrik, sistaDatum, skickatTidpunkt, svarPa, svarReferensId);
    Arende res = ArendeConverter.convert(input);
    assertEquals(amneskod, res.getAmne());
    assertEquals(intygId, res.getIntygsId());
    assertEquals(kontaktInfo, res.getKontaktInfo().get(0));
    assertEquals(FRAGESTALLARKOD_FORSAKRINGSKASSA, res.getSkickatAv());
    assertEquals(frageId, res.getKomplettering().get(0).getFrageId());
    assertEquals(instans, res.getKomplettering().get(0).getInstans());
    assertEquals(kompletteringsText, res.getKomplettering().get(0).getText());
    assertEquals(meddelande, res.getMeddelande());
    assertEquals(meddelandeId, res.getMeddelandeId());
    assertEquals(paminnelseMeddelandeId, res.getPaminnelseMeddelandeId());
    assertEquals(personId, res.getPatientPersonId());
    assertEquals(referensId, res.getReferensId());
    assertEquals(rubrik, res.getRubrik());
    assertEquals(sistaDatum, res.getSistaDatumForSvar());
    assertEquals(skickatTidpunkt, res.getSkickatTidpunkt());
    assertEquals(svarPa, res.getSvarPaId());
    assertEquals(svarReferensId, res.getSvarPaReferens());
}
Also used : LocalDateTime(java.time.LocalDateTime) SendMessageToCareType(se.riv.clinicalprocess.healthcond.certificate.sendMessageToCare.v2.SendMessageToCareType) ArendeAmne(se.inera.intyg.webcert.persistence.arende.model.ArendeAmne) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) LocalDate(java.time.LocalDate) Test(org.junit.Test)

Example 97 with Arende

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

the class ArendeConverterTest method testDecorateArendeFromUtkastHsaNotGivingName.

@Test
public void testDecorateArendeFromUtkastHsaNotGivingName() {
    Utkast utkast = new Utkast();
    utkast.setIntygsTyp("intygstyp");
    utkast.setEnhetsId("enhetsid");
    utkast.setSignatur(mock(Signatur.class));
    when(utkast.getSignatur().getSigneradAv()).thenReturn("signeratav");
    when(hsaEmployeeService.getEmployee(anyString(), eq(null))).thenReturn(createHsaResponse(null, null));
    try {
        ArendeConverter.decorateArendeFromUtkast(new Arende(), utkast, LocalDateTime.now(), hsaEmployeeService);
        fail("Should throw");
    } catch (WebCertServiceException e) {
        assertEquals(WebCertServiceErrorCodeEnum.DATA_NOT_FOUND, e.getErrorCode());
    }
}
Also used : Signatur(se.inera.intyg.webcert.persistence.utkast.model.Signatur) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) WebCertServiceException(se.inera.intyg.webcert.common.service.exception.WebCertServiceException) Test(org.junit.Test)

Example 98 with Arende

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

the class ArendeServiceTest method testFilterArendeWithNoEnhetsIdAsParam.

@Test
public void testFilterArendeWithNoEnhetsIdAsParam() {
    when(webcertUserService.getUser()).thenReturn(createUser());
    List<Arende> queryResults = new ArrayList<>();
    queryResults.add(buildArende(UUID.randomUUID().toString(), LocalDateTime.now(), null));
    queryResults.add(buildArende(UUID.randomUUID().toString(), LocalDateTime.now().plusDays(1), null));
    when(arendeRepository.filterArende(any(Filter.class))).thenReturn(queryResults);
    QueryFragaSvarResponse fsResponse = new QueryFragaSvarResponse();
    fsResponse.setResults(new ArrayList<>());
    fsResponse.setTotalCount(0);
    when(fragaSvarService.filterFragaSvar(any(Filter.class))).thenReturn(fsResponse);
    QueryFragaSvarParameter params = new QueryFragaSvarParameter();
    QueryFragaSvarResponse response = service.filterArende(params);
    verify(webcertUserService).getUser();
    verify(arendeRepository).filterArende(any(Filter.class));
    // verify(arendeRepository).filterArendeCount(any(Filter.class));
    verify(fragaSvarService).filterFragaSvar(any(Filter.class));
    assertEquals(2, response.getResults().size());
// assertEquals(3, response.getTotalCount());
}
Also used : Filter(se.inera.intyg.webcert.persistence.model.Filter) QueryFragaSvarParameter(se.inera.intyg.webcert.web.service.fragasvar.dto.QueryFragaSvarParameter) MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) QueryFragaSvarResponse(se.inera.intyg.webcert.web.service.fragasvar.dto.QueryFragaSvarResponse) Test(org.junit.Test)

Example 99 with Arende

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

the class ArendeServiceTest method testProcessIncomingMessageUpdatingRelatedPaminnelse.

@Test
public void testProcessIncomingMessageUpdatingRelatedPaminnelse() throws WebCertServiceException {
    final String paminnelseid = "paminnelseid";
    Arende paminnelse = new Arende();
    Arende svararende = new Arende();
    svararende.setIntygsId(INTYG_ID);
    svararende.setPaminnelseMeddelandeId(paminnelseid);
    Utkast utkast = buildUtkast();
    utkast.setIntygsTyp("intygstyp");
    utkast.setEnhetsId(ENHET_ID);
    when(utkastRepository.findOne(eq(INTYG_ID))).thenReturn(utkast);
    when(arendeRepository.findOneByMeddelandeId(eq(paminnelseid))).thenReturn(paminnelse);
    Arende res = service.processIncomingMessage(svararende);
    assertEquals(FIXED_TIME_INSTANT, res.getSenasteHandelse().toInstant(ZoneId.systemDefault().getRules().getOffset(FIXED_TIME_INSTANT)));
    verify(arendeRepository).findOneByMeddelandeId(eq(paminnelseid));
    ArgumentCaptor<Arende> arendeCaptor = ArgumentCaptor.forClass(Arende.class);
    verify(arendeRepository, times(2)).save(arendeCaptor.capture());
    Arende updatedQuestion = arendeCaptor.getAllValues().get(1);
    assertEquals(FIXED_TIME_INSTANT, updatedQuestion.getSenasteHandelse().toInstant(ZoneId.systemDefault().getRules().getOffset(FIXED_TIME_INSTANT)));
    verify(notificationService, only()).sendNotificationForQuestionReceived(any(Arende.class));
    verifyZeroInteractions(arendeDraftService);
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) Matchers.anyString(org.mockito.Matchers.anyString) Test(org.junit.Test)

Example 100 with Arende

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

the class ArendeServiceTest method testProcessIncomingMessageUpdatingRelatedSvar.

@Test
public void testProcessIncomingMessageUpdatingRelatedSvar() throws WebCertServiceException {
    final String frageid = "frageid";
    Arende fragearende = new Arende();
    Arende svararende = new Arende();
    svararende.setIntygsId(INTYG_ID);
    svararende.setSvarPaId(frageid);
    Utkast utkast = buildUtkast();
    utkast.setIntygsTyp("intygstyp");
    utkast.setEnhetsId(ENHET_ID);
    when(utkastRepository.findOne(eq(INTYG_ID))).thenReturn(utkast);
    when(arendeRepository.findOneByMeddelandeId(eq(frageid))).thenReturn(fragearende);
    Arende res = service.processIncomingMessage(svararende);
    assertEquals(Status.ANSWERED, res.getStatus());
    assertEquals(FIXED_TIME_INSTANT, res.getSenasteHandelse().toInstant(ZoneId.systemDefault().getRules().getOffset(FIXED_TIME_INSTANT)));
    verify(arendeRepository).findOneByMeddelandeId(eq(frageid));
    ArgumentCaptor<Arende> arendeCaptor = ArgumentCaptor.forClass(Arende.class);
    verify(arendeRepository, times(2)).save(arendeCaptor.capture());
    Arende updatedQuestion = arendeCaptor.getAllValues().get(1);
    assertEquals(FIXED_TIME_INSTANT, updatedQuestion.getSenasteHandelse().toInstant(ZoneId.systemDefault().getRules().getOffset(FIXED_TIME_INSTANT)));
    assertEquals(Status.ANSWERED, updatedQuestion.getStatus());
    verify(notificationService, only()).sendNotificationForAnswerRecieved(any(Arende.class));
    verifyZeroInteractions(arendeDraftService);
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) Matchers.anyString(org.mockito.Matchers.anyString) 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