Search in sources :

Example 66 with Utkast

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));
}
Also used : Mockito.anySet(org.mockito.Mockito.anySet) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Test(org.junit.Test)

Example 67 with Utkast

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);
}
Also used : LogRequest(se.inera.intyg.webcert.web.service.log.dto.LogRequest) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) WebCertUser(se.inera.intyg.webcert.web.service.user.dto.WebCertUser) Test(org.junit.Test)

Example 68 with Utkast

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);
}
Also used : CreateNewDraftRequest(se.inera.intyg.webcert.web.service.utkast.dto.CreateNewDraftRequest) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) Test(org.junit.Test)

Example 69 with Utkast

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());
}
Also used : LogRequest(se.inera.intyg.webcert.web.service.log.dto.LogRequest) HoSPersonal(se.inera.intyg.common.support.model.common.internal.HoSPersonal) ValidationMessage(se.inera.intyg.common.support.modules.support.api.dto.ValidationMessage) Utlatande(se.inera.intyg.common.support.model.common.internal.Utlatande) SaveDraftResponse(se.inera.intyg.webcert.web.service.utkast.dto.SaveDraftResponse) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) GrundData(se.inera.intyg.common.support.model.common.internal.GrundData) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) ValidateDraftResponse(se.inera.intyg.common.support.modules.support.api.dto.ValidateDraftResponse) WebCertUser(se.inera.intyg.webcert.web.service.user.dto.WebCertUser) Test(org.junit.Test)

Example 70 with Utkast

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;
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast)

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