Search in sources :

Example 1 with Lakare

use of se.inera.intyg.webcert.web.service.dto.Lakare in project webcert by sklintyg.

the class ArendeServiceTest method testListSignedByForUnitsSpecifiedUnit.

@Test
public void testListSignedByForUnitsSpecifiedUnit() {
    final List<String> selectedUnit = Arrays.asList("enhet1");
    final String[] lakare1 = { "hsaid1", "namn1" };
    final String[] lakare2 = { "hsaid2", "namn2" };
    final String[] lakare3 = { "hsaid3", "namn3" };
    final List<Object[]> repoResult = Arrays.asList(lakare1, lakare2, lakare3);
    when(webcertUserService.isAuthorizedForUnit(anyString(), eq(true))).thenReturn(true);
    when(arendeRepository.findSigneratAvByEnhet(selectedUnit)).thenReturn(repoResult);
    List<Lakare> res = service.listSignedByForUnits(selectedUnit.get(0));
    assertEquals(repoResult.stream().map(arr -> new Lakare((String) arr[0], (String) arr[1])).collect(Collectors.toList()), res);
    verify(arendeRepository).findSigneratAvByEnhet(selectedUnit);
}
Also used : Lakare(se.inera.intyg.webcert.web.service.dto.Lakare) Matchers.anyString(org.mockito.Matchers.anyString) Test(org.junit.Test)

Example 2 with Lakare

use of se.inera.intyg.webcert.web.service.dto.Lakare in project webcert by sklintyg.

the class UtkastServiceImpl method getLakareWithDraftsByEnhet.

@Override
@Transactional(readOnly = true)
public List<Lakare> getLakareWithDraftsByEnhet(String enhetsId) {
    List<Lakare> lakareList = new ArrayList<>();
    List<Object[]> result = utkastRepository.findDistinctLakareFromIntygEnhetAndStatuses(enhetsId, ALL_DRAFT_STATUSES);
    for (Object[] lakareArr : result) {
        lakareList.add(new Lakare((String) lakareArr[0], (String) lakareArr[1]));
    }
    return lakareList;
}
Also used : Lakare(se.inera.intyg.webcert.web.service.dto.Lakare) Transactional(org.springframework.transaction.annotation.Transactional)

Example 3 with Lakare

use of se.inera.intyg.webcert.web.service.dto.Lakare in project webcert by sklintyg.

the class UtkastApiController method getLakareWithDraftsByEnheter.

/**
 * Returns a list of doctors that have one or more unsigned utkast.
 *
 * @return a list of {@link se.inera.intyg.webcert.web.service.dto.Lakare} objects.
 */
@GET
@Path("/lakare")
@Produces(MediaType.APPLICATION_JSON + UTF_8_CHARSET)
public Response getLakareWithDraftsByEnheter() {
    authoritiesValidator.given(getWebCertUserService().getUser()).features(AuthoritiesConstants.FEATURE_HANTERA_INTYGSUTKAST).orThrow();
    WebCertUser user = getWebCertUserService().getUser();
    String selectedUnitHsaId = user.getValdVardenhet().getId();
    List<Lakare> lakareWithDraftsByEnhet = utkastService.getLakareWithDraftsByEnhet(selectedUnitHsaId);
    return Response.ok().entity(lakareWithDraftsByEnhet).build();
}
Also used : Lakare(se.inera.intyg.webcert.web.service.dto.Lakare) WebCertUser(se.inera.intyg.webcert.web.service.user.dto.WebCertUser) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET)

Example 4 with Lakare

use of se.inera.intyg.webcert.web.service.dto.Lakare in project webcert by sklintyg.

the class FragaSvarServiceImplTest method testGetMDByEnhetsIdOK.

@Test
public void testGetMDByEnhetsIdOK() {
    String enhetsId = "enhet";
    when(webCertUserService.isAuthorizedForUnit(any(String.class), eq(false))).thenReturn(true);
    List<Object[]> queryResult = new ArrayList<>();
    queryResult.add(new Object[] { "HSA-1_ID", "NAMN1" });
    queryResult.add(new Object[] { "HSA-2_ID", "NAMN2" });
    queryResult.add(new Object[] { "HSA-3_ID", "NAMN3" });
    queryResult.add(new Object[] { "HSA-4_ID", "NAMN4" });
    when(fragasvarRepositoryMock.findDistinctFragaSvarHsaIdByEnhet(anyList())).thenReturn(queryResult);
    List<Lakare> result = service.getFragaSvarHsaIdByEnhet(enhetsId);
    ArgumentCaptor<String> capture = ArgumentCaptor.forClass(String.class);
    verify(webCertUserService).isAuthorizedForUnit(capture.capture(), eq(false));
    verify(fragasvarRepositoryMock).findDistinctFragaSvarHsaIdByEnhet(anyList());
    assertEquals(enhetsId, capture.getValue());
    assertEquals(4, result.size());
}
Also used : Lakare(se.inera.intyg.webcert.web.service.dto.Lakare) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Test(org.junit.Test)

Example 5 with Lakare

use of se.inera.intyg.webcert.web.service.dto.Lakare in project webcert by sklintyg.

the class FragaSvarServiceImpl method getFragaSvarHsaIdByEnhet.

@Override
@Transactional(value = "jpaTransactionManager", readOnly = true)
public List<Lakare> getFragaSvarHsaIdByEnhet(String enhetsId) {
    List<String> enhetsIdParams = new ArrayList<>();
    if (enhetsId != null) {
        verifyEnhetsAuth(enhetsId);
        enhetsIdParams.add(enhetsId);
    } else {
        WebCertUser user = webCertUserService.getUser();
        enhetsIdParams.addAll(user.getIdsOfSelectedVardenhet());
    }
    List<Lakare> mdList = new ArrayList<>();
    List<Object[]> tempList = fragaSvarRepository.findDistinctFragaSvarHsaIdByEnhet(enhetsIdParams);
    for (Object[] obj : tempList) {
        mdList.add(new Lakare((String) obj[0], (String) obj[1]));
    }
    return mdList;
}
Also used : Lakare(se.inera.intyg.webcert.web.service.dto.Lakare) ArrayList(java.util.ArrayList) WebCertUser(se.inera.intyg.webcert.web.service.user.dto.WebCertUser) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

Lakare (se.inera.intyg.webcert.web.service.dto.Lakare)6 Test (org.junit.Test)3 WebCertUser (se.inera.intyg.webcert.web.service.user.dto.WebCertUser)3 Matchers.anyString (org.mockito.Matchers.anyString)2 Transactional (org.springframework.transaction.annotation.Transactional)2 ArrayList (java.util.ArrayList)1 GET (javax.ws.rs.GET)1 Path (javax.ws.rs.Path)1 Produces (javax.ws.rs.Produces)1 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)1