Search in sources :

Example 31 with Arende

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

the class ArendeServiceTest method closeArendeAsHandledFromWCNoAnswerTest.

@Test
public void closeArendeAsHandledFromWCNoAnswerTest() {
    Arende arende = buildArende(MEDDELANDE_ID, null);
    arende.setSkickatAv(FrageStallare.WEBCERT.getKod());
    arende.setStatus(Status.PENDING_EXTERNAL_ACTION);
    when(arendeRepository.findOneByMeddelandeId(MEDDELANDE_ID)).thenReturn(arende);
    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_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 32 with Arende

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

the class ArendeServiceTest method createQuestionTest.

@Test
public void createQuestionTest() throws CertificateSenderException {
    LocalDateTime now = LocalDateTime.now();
    Utkast utkast = buildUtkast();
    doReturn(utkast).when(utkastRepository).findOne(anyString());
    when(webcertUserService.isAuthorizedForUnit(isNull(), anyBoolean())).thenReturn(true);
    when(webcertUserService.getUser()).thenReturn(new WebCertUser());
    Arende arende = new Arende();
    arende.setSenasteHandelse(now);
    ArendeConversationView result = service.createMessage(INTYG_ID, ArendeAmne.KONTKT, "rubrik", "meddelande");
    assertNotNull(result.getFraga());
    assertNull(result.getSvar());
    assertEquals(FIXED_TIME_INSTANT, result.getSenasteHandelse().toInstant(ZoneId.systemDefault().getRules().getOffset(FIXED_TIME_INSTANT)));
    verify(webcertUserService).isAuthorizedForUnit(isNull(), anyBoolean());
    verify(arendeRepository).save(any(Arende.class));
    verify(monitoringLog).logArendeCreated(anyString(), isNull(), isNull(), any(ArendeAmne.class), anyBoolean());
    verify(certificateSenderService).sendMessageToRecipient(anyString(), anyString());
    verify(notificationService).sendNotificationForQAs(INTYG_ID, NotificationEvent.NEW_QUESTION_FROM_CARE);
    verify(arendeDraftService).delete(INTYG_ID, null);
}
Also used : LocalDateTime(java.time.LocalDateTime) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) 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) WebCertUser(se.inera.intyg.webcert.web.service.user.dto.WebCertUser) Test(org.junit.Test)

Example 33 with Arende

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

the class ArendeServiceTest method testProcessIncomingMessageCertificateNotFound.

@Test
public void testProcessIncomingMessageCertificateNotFound() {
    try {
        service.processIncomingMessage(new Arende());
        fail("Should throw");
    } catch (WebCertServiceException e) {
        assertEquals(WebCertServiceErrorCodeEnum.DATA_NOT_FOUND, e.getErrorCode());
        verify(arendeRepository, never()).save(any(Arende.class));
        verifyZeroInteractions(notificationService);
        verifyZeroInteractions(arendeDraftService);
    }
}
Also used : MedicinsktArende(se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende) Arende(se.inera.intyg.webcert.persistence.arende.model.Arende) WebCertServiceException(se.inera.intyg.webcert.common.service.exception.WebCertServiceException) Test(org.junit.Test)

Example 34 with Arende

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

the class ArendeServiceTest method testFilterArendeSelection.

@Test
public void testFilterArendeSelection() {
    when(webcertUserService.getUser()).thenReturn(createUser());
    when(authoritiesHelper.getIntygstyperForPrivilege(any(UserDetails.class), any())).thenReturn(new HashSet<>());
    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.getResults().add(buildArendeListItem("intyg1", LocalDateTime.now().minusDays(1)));
    fsResponse.setTotalCount(1);
    when(fragaSvarService.filterFragaSvar(any(Filter.class))).thenReturn(fsResponse);
    QueryFragaSvarParameter params = new QueryFragaSvarParameter();
    params.setStartFrom(2);
    params.setPageSize(10);
    QueryFragaSvarResponse response = service.filterArende(params);
    verify(webcertUserService).getUser();
    verify(arendeRepository, atLeastOnce()).filterArende(any(Filter.class));
    // verify(arendeRepository).filterArendeCount(any(Filter.class));
    verify(fragaSvarService).filterFragaSvar(any());
    assertEquals(1, response.getResults().size());
// assertEquals(4, 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 35 with Arende

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

the class ArendeServiceTest method answerKompltQuestionUnauthorizedTest.

@Test(expected = WebCertServiceException.class)
public void answerKompltQuestionUnauthorizedTest() throws CertificateSenderException {
    final String svarPaMeddelandeId = "svarPaMeddelandeId";
    Arende fraga = new Arende();
    fraga.setStatus(Status.PENDING_INTERNAL_ACTION);
    fraga.setAmne(ArendeAmne.KOMPLT);
    when(arendeRepository.findOneByMeddelandeId(svarPaMeddelandeId)).thenReturn(fraga);
    try {
        service.answer(svarPaMeddelandeId, "svarstext");
    } finally {
        verify(arendeRepository, never()).save(any(Arende.class));
        verifyZeroInteractions(notificationService);
        verifyZeroInteractions(arendeDraftService);
    }
}
Also used : 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