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