Search in sources :

Example 6 with Utkast

use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.

the class UtkastRepositoryImpl method filterIntyg.

@Override
@Transactional(value = "jpaTransactionManager", readOnly = true)
public List<Utkast> filterIntyg(UtkastFilter filter, Set<String> authorizedIntygstyper) {
    CriteriaBuilder cb = entityManager.getCriteriaBuilder();
    CriteriaQuery<Utkast> cq = cb.createQuery(Utkast.class);
    Root<Utkast> root = cq.from(Utkast.class);
    cq.where(createPredicate(filter, cb, root, authorizedIntygstyper));
    cq.orderBy(cb.desc(root.get("senastSparadDatum")));
    TypedQuery<Utkast> query = entityManager.createQuery(cq);
    if (filter.hasPageSizeAndStartFrom()) {
        query.setMaxResults(filter.getPageSize());
        query.setFirstResult(filter.getStartFrom());
    }
    return query.getResultList();
}
Also used : CriteriaBuilder(javax.persistence.criteria.CriteriaBuilder) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) Transactional(org.springframework.transaction.annotation.Transactional)

Example 7 with Utkast

use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.

the class ArendeServiceTest method createQuestionInvalidCertificateTypeTest.

@Test
public void createQuestionInvalidCertificateTypeTest() {
    Utkast utkast = new Utkast();
    utkast.setSignatur(new Signatur());
    utkast.setIntygsTyp("fk7263");
    when(utkastRepository.findOne(anyString())).thenReturn(utkast);
    try {
        service.createMessage(INTYG_ID, ArendeAmne.KONTKT, "rubrik", "meddelande");
        fail("should throw exception");
    } catch (WebCertServiceException e) {
        assertEquals(WebCertServiceErrorCodeEnum.INVALID_STATE, e.getErrorCode());
        verifyZeroInteractions(arendeRepository);
        verifyZeroInteractions(notificationService);
        verifyZeroInteractions(arendeDraftService);
    }
}
Also used : Signatur(se.inera.intyg.webcert.persistence.utkast.model.Signatur) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) WebCertServiceException(se.inera.intyg.webcert.common.service.exception.WebCertServiceException) Test(org.junit.Test)

Example 8 with Utkast

use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.

the class ArendeServiceTest method createQuestionCertificateNotSignedTest.

@Test
public void createQuestionCertificateNotSignedTest() {
    when(utkastRepository.findOne(anyString())).thenReturn(new Utkast());
    try {
        service.createMessage(INTYG_ID, ArendeAmne.KONTKT, "rubrik", "meddelande");
        fail("should throw exception");
    } catch (WebCertServiceException e) {
        assertEquals(WebCertServiceErrorCodeEnum.INVALID_STATE, e.getErrorCode());
        verifyZeroInteractions(arendeRepository);
        verifyZeroInteractions(notificationService);
        verifyZeroInteractions(arendeDraftService);
    }
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) WebCertServiceException(se.inera.intyg.webcert.common.service.exception.WebCertServiceException) Test(org.junit.Test)

Example 9 with Utkast

use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.

the class ArendeServiceTest method buildUtkast.

private Utkast buildUtkast() {
    final String signeratAv = "signeratAv";
    Utkast utkast = new Utkast();
    utkast.setIntygsId(INTYG_ID);
    utkast.setSkapadAv(new VardpersonReferens());
    utkast.getSkapadAv().setHsaId(signeratAv);
    utkast.setSignatur(mock(Signatur.class));
    utkast.setPatientPersonnummer(PNR);
    when(utkast.getSignatur().getSigneradAv()).thenReturn(signeratAv);
    return utkast;
}
Also used : Signatur(se.inera.intyg.webcert.persistence.utkast.model.Signatur) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) Matchers.anyString(org.mockito.Matchers.anyString) VardpersonReferens(se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens)

Example 10 with Utkast

use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.

the class ArendeServiceTest method testProcessIncomingMessage.

@Test
public void testProcessIncomingMessage() throws WebCertServiceException {
    final String signeratAvName = "signeratAvName";
    Arende arende = new Arende();
    arende.setIntygsId(INTYG_ID);
    Utkast utkast = buildUtkast();
    utkast.getSkapadAv().setNamn(signeratAvName);
    when(utkastRepository.findOne(INTYG_ID)).thenReturn(utkast);
    Arende res = service.processIncomingMessage(arende);
    assertNotNull(res);
    assertEquals(FIXED_TIME_INSTANT, res.getTimestamp().toInstant(ZoneId.systemDefault().getRules().getOffset(FIXED_TIME_INSTANT)));
    assertEquals(FIXED_TIME_INSTANT, res.getSenasteHandelse().toInstant(ZoneId.systemDefault().getRules().getOffset(FIXED_TIME_INSTANT)));
    assertEquals(utkast.getSignatur().getSigneradAv(), res.getSigneratAv());
    assertEquals(signeratAvName, res.getSigneratAvName());
    verify(utkastRepository).findOne(INTYG_ID);
    verify(notificationService).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)

Aggregations

Utkast (se.inera.intyg.webcert.persistence.utkast.model.Utkast)171 Test (org.junit.Test)88 WebCertServiceException (se.inera.intyg.webcert.common.service.exception.WebCertServiceException)34 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)24 Personnummer (se.inera.intyg.schemas.contract.Personnummer)21 Signatur (se.inera.intyg.webcert.persistence.utkast.model.Signatur)21 VardpersonReferens (se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens)21 LogRequest (se.inera.intyg.webcert.web.service.log.dto.LogRequest)18 WebCertUser (se.inera.intyg.webcert.web.service.user.dto.WebCertUser)17 Arende (se.inera.intyg.webcert.persistence.arende.model.Arende)16 Utlatande (se.inera.intyg.common.support.model.common.internal.Utlatande)14 CreateNewDraftRequest (se.inera.intyg.webcert.web.service.utkast.dto.CreateNewDraftRequest)13 Patient (se.inera.intyg.common.support.model.common.internal.Patient)12 ModuleException (se.inera.intyg.common.support.modules.support.api.exception.ModuleException)12 ListIntygEntry (se.inera.intyg.webcert.web.web.controller.api.dto.ListIntygEntry)12 Transactional (org.springframework.transaction.annotation.Transactional)11 ModuleNotFoundException (se.inera.intyg.common.support.modules.registry.ModuleNotFoundException)11 MedicinsktArende (se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende)11 CopyUtkastBuilderResponse (se.inera.intyg.webcert.web.service.utkast.dto.CopyUtkastBuilderResponse)10 ArrayList (java.util.ArrayList)9