use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.
the class UtkastServiceImplTest method testCheckIfPersonHasExistingIntyg.
@Test
public void testCheckIfPersonHasExistingIntyg() {
final String personId = PERSON_ID;
final Set activeModules = new HashSet<>(Arrays.asList("db", "doi"));
final String vardgivareId = "vardgivarid";
Utkast db1 = createUtkast("db1", 1L, "db", UtkastStatus.SIGNED, "", null, PERSONNUMMER);
db1.setVardgivarId("other");
Utkast db2 = createUtkast("db2", 1L, "db", UtkastStatus.SIGNED, "", null, PERSONNUMMER);
db2.setVardgivarId(vardgivareId);
Utkast doi = createUtkast("doi1", 1L, "doi", UtkastStatus.SIGNED, "", null, PERSONNUMMER);
doi.setVardgivarId("other");
when(authoritiesHelper.getIntygstyperForFeature(any(), any(), any())).thenReturn(activeModules);
when(mockUtkastRepository.findAllByPatientPersonnummerAndIntygsTypIn(PERSONNUMMER.getPersonnummerWithDash(), activeModules)).thenReturn(Arrays.asList(db1, db2, doi));
Map<String, Map<String, Boolean>> res = draftService.checkIfPersonHasExistingIntyg(PERSONNUMMER, createUser());
assertNotNull(res.get("intyg"));
assertTrue(res.get("intyg").get("db"));
assertFalse(res.get("intyg").get("doi"));
verify(mockUtkastRepository).findAllByPatientPersonnummerAndIntygsTypIn(eq(PERSONNUMMER.getPersonnummerWithDash()), eq(activeModules));
}
use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.
the class UtkastServiceImplTest method testDeleteDraftThatIsUnsigned.
@Test
public void testDeleteDraftThatIsUnsigned() {
WebCertUser user = createUser();
when(mockUtkastRepository.findOne(INTYG_ID)).thenReturn(utkast);
draftService.deleteUnsignedDraft(INTYG_ID, utkast.getVersion());
verify(mockUtkastRepository).findOne(INTYG_ID);
verify(mockUtkastRepository).delete(utkast);
// Assert notification message
verify(notificationService).sendNotificationForDraftDeleted(any(Utkast.class));
// Assert pdl log
verify(logService).logDeleteIntyg(any(LogRequest.class));
verify(mockMonitoringService).logUtkastDeleted(INTYG_ID, INTYG_TYPE);
}
use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.
the class UtkastServiceImplTest method testNullReferensNotPersisted.
@Test
public void testNullReferensNotPersisted() throws ModuleNotFoundException, IOException, ModuleException {
CreateNewDraftRequest request = buildCreateNewDraftRequest();
request.setReferens(null);
setupReferensMocks();
Utkast res = draftService.createNewDraft(request);
assertNotNull(res.getSkapad());
verify(referensService, times(0)).saveReferens(INTYG_ID, REFERENS);
}
use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.
the class UtkastServiceImplTest method testSaveDraftDraftFirstSave.
@Test
public void testSaveDraftDraftFirstSave() throws Exception {
ValidationMessage valMsg = new ValidationMessage("a.category", "a.field.somewhere", ValidationMessageType.OTHER, "This is soooo wrong!");
ValidateDraftResponse validationResponse = new ValidateDraftResponse(ValidationStatus.INVALID, Collections.singletonList(valMsg));
WebCertUser user = createUser();
Utlatande utlatande = mock(Utlatande.class);
GrundData grunddata = new GrundData();
grunddata.setSkapadAv(new HoSPersonal());
grunddata.setPatient(defaultPatient);
when(utlatande.getGrundData()).thenReturn(grunddata);
when(mockUtkastRepository.findOne(INTYG_ID)).thenReturn(utkast);
when(moduleRegistry.getModuleApi(INTYG_TYPE)).thenReturn(mockModuleApi);
when(mockModuleApi.validateDraft(anyString())).thenReturn(validationResponse);
when(mockModuleApi.getUtlatandeFromJson(anyString())).thenReturn(utlatande);
when(mockUtkastRepository.save(utkast)).thenReturn(utkast);
when(mockModuleApi.shouldNotify(any(String.class), any(String.class))).thenReturn(true);
when(userService.getUser()).thenReturn(user);
when(mockModuleApi.updateBeforeSave(anyString(), any(HoSPersonal.class))).thenReturn("{}");
SaveDraftResponse res = draftService.saveDraft(INTYG_ID, UTKAST_VERSION, INTYG_JSON, true);
verify(mockUtkastRepository).save(any(Utkast.class));
// Assert notification message
verify(notificationService).sendNotificationForDraftChanged(any(Utkast.class));
// Assert pdl log
verify(logService).logUpdateIntyg(any(LogRequest.class));
verify(mockMonitoringService).logUtkastEdited(INTYG_ID, INTYG_TYPE);
assertNotNull("An DraftValidation should be returned", res);
assertEquals("Validation should fail", UtkastStatus.DRAFT_INCOMPLETE, res.getStatus());
}
use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.
the class UtkastIntygDecoratorTest method buildUtkast.
private Utkast buildUtkast(String intygId, String type, UtkastStatus status, String model, VardpersonReferens vardperson) {
Utkast intyg = new Utkast();
intyg.setIntygsId(intygId);
intyg.setIntygsTyp(type);
intyg.setStatus(status);
intyg.setModel(model);
intyg.setSkapadAv(vardperson);
intyg.setSenastSparadAv(vardperson);
return intyg;
}
Aggregations