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