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();
}
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);
}
}
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);
}
}
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;
}
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);
}
Aggregations