Skip to content

Commit

Permalink
IS-1760: Always fetch skjermingskode from syfoperson and use icon wit…
Browse files Browse the repository at this point in the history
…h tooltip (#384)

* IS-1760: Always fetch from syfoperson

Replace tag with icon

fix icon and color

fix test

Adjust mock data

* Add test

* Fix querykey
  • Loading branch information
andersrognstad authored Dec 4, 2023
1 parent 66ece59 commit a55baae
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 38 deletions.
26 changes: 13 additions & 13 deletions mock/data/personoversiktEnhetMock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
{
fnr: '01999911111',
navn: '',
navn: 'Korrupt Heis',
enhet: '0316',
veilederIdent: null,
motebehovUbehandlet: null,
Expand All @@ -27,7 +27,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '99999922222',
navn: '',
navn: 'Korrupt Bordsen',
enhet: '0316',
veilederIdent: null,
motebehovUbehandlet: true,
Expand Down Expand Up @@ -107,7 +107,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '59999933333',
navn: '',
navn: 'Korrupt Bolle',
enhet: '0316',
veilederIdent: 'Z101010',
motebehovUbehandlet: true,
Expand Down Expand Up @@ -149,7 +149,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '99999944444',
navn: '',
navn: 'Stol Bordsen',
enhet: '0316',
veilederIdent: 'Z101010',
motebehovUbehandlet: true,
Expand Down Expand Up @@ -187,7 +187,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '18999955555',
navn: '',
navn: 'Bord Stolesen',
enhet: '0316',
veilederIdent: null,
motebehovUbehandlet: true,
Expand Down Expand Up @@ -221,7 +221,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '99999966666',
navn: '',
navn: 'Gulv Heisen',
enhet: '0316',
veilederIdent: 'M987654',
motebehovUbehandlet: null,
Expand Down Expand Up @@ -251,7 +251,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '99999955556',
navn: '',
navn: 'Skjerm Visen',
enhet: '0316',
veilederIdent: null,
motebehovUbehandlet: true,
Expand Down Expand Up @@ -281,7 +281,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '99999966667',
navn: '',
navn: 'Stol Sengestad',
enhet: '0316',
veilederIdent: 'M987654',
motebehovUbehandlet: null,
Expand Down Expand Up @@ -311,7 +311,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '99999966668',
navn: '',
navn: 'Bord Plantesen',
enhet: '0316',
veilederIdent: 'M987654',
motebehovUbehandlet: null,
Expand Down Expand Up @@ -341,7 +341,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '99999966669',
navn: '',
navn: 'Lun Gange',
enhet: '0316',
veilederIdent: 'Wienerbrød',
motebehovUbehandlet: null,
Expand Down Expand Up @@ -375,7 +375,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '99999966670',
navn: '',
navn: 'Vissen Plass',
enhet: '0316',
veilederIdent: 'Wienerbrød',
motebehovUbehandlet: null,
Expand Down Expand Up @@ -405,7 +405,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '99999966671',
navn: '',
navn: 'Mør Benk',
enhet: '0316',
veilederIdent: 'Z999991',
motebehovUbehandlet: null,
Expand Down Expand Up @@ -435,7 +435,7 @@ export const personoversiktEnhetMock: PersonOversiktStatusDTO[] = [
},
{
fnr: '99999966672',
navn: '',
navn: 'Grønn Due',
enhet: '0316',
veilederIdent: 'Z999991',
motebehovUbehandlet: null,
Expand Down
22 changes: 11 additions & 11 deletions src/components/Labels.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,30 @@ import React from 'react';
import { PersonData } from '@/api/types/personregisterTypes';
import { getReadableSkjermingskode } from '@/utils/personDataUtil';
import styled from 'styled-components';
import { Tag } from '@navikt/ds-react';
import { Tooltip } from '@navikt/ds-react';
import { ExclamationmarkTriangleFillIcon } from '@navikt/aksel-icons';

const LabelColumnWrapper = styled.div`
padding: 0.5em 0;
> * {
margin: 0.2em;
}
display: flex;
`;

interface LabelColumnProps {
personData: PersonData;
}

export const Labels = ({ personData }: LabelColumnProps) => {
const showSkjermingskode =
personData.skjermingskode && personData.skjermingskode !== 'INGEN';
const { skjermingskode } = personData;
const showSkjermingskode = skjermingskode && skjermingskode !== 'INGEN';

return (
<LabelColumnWrapper>
{showSkjermingskode && (
<Tag variant="warning" size="small">
{getReadableSkjermingskode(personData.skjermingskode)}
</Tag>
<Tooltip content={getReadableSkjermingskode(skjermingskode)}>
<ExclamationmarkTriangleFillIcon
fontSize="1.5rem"
color="var(--a-orange-600)"
/>
</Tooltip>
)}
</LabelColumnWrapper>
);
Expand Down
20 changes: 8 additions & 12 deletions src/data/personregisterHooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,37 +7,33 @@ import { ApiErrorException } from '@/api/errors';
import { FetchPersonregisterFailed } from '@/context/notification/Notifications';
import { useNotifications } from '@/context/notification/NotificationContext';
import { useAsyncError } from '@/data/useAsyncError';
import { useAktivEnhet } from '@/context/aktivEnhet/AktivEnhetContext';

export const personregisterQueryKeys = {
personregister: ['personregister'],
personregister: (enhetId: string | undefined) => ['personregister', enhetId],
};

export const usePersonregisterQuery = () => {
const personoversiktQuery = usePersonoversiktQuery();
const { aktivEnhet } = useAktivEnhet();
const { data } = usePersonoversiktQuery();
const { displayNotification, clearNotification } = useNotifications();
const throwError = useAsyncError();

const fnrForPersonerUtenNavnListe =
personoversiktQuery.data &&
personoversiktQuery.data
.filter((p) => !p.navn)
.map((person) => ({
fnr: person.fnr,
}));
const fnrForPersonerListe = data.map((person) => ({ fnr: person.fnr }));

const fetchPersonregister = () => {
const personregisterData = post<PersonregisterData[]>(
`${SYFOPERSON_ROOT}/person/info`,
fnrForPersonerUtenNavnListe || []
fnrForPersonerListe
);

return personregisterData || [];
};

return useQuery({
queryKey: personregisterQueryKeys.personregister,
queryKey: personregisterQueryKeys.personregister(aktivEnhet),
queryFn: fetchPersonregister,
enabled: fnrForPersonerUtenNavnListe.length > 0,
enabled: !!aktivEnhet && fnrForPersonerListe.length > 0,
onError: (error) => {
if (error instanceof ApiErrorException && error.code === 403) {
throwError(error);
Expand Down
10 changes: 8 additions & 2 deletions test/components/Personrad.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ describe('Personrad', () => {
);
});

it('Skal rendre riktig navn, fodselsnummer og skjermingskode', () => {
it('Skal rendre riktig navn, fodselsnummer og ikon for skjermingskode', () => {
renderPersonrad(defaultPersonData);

expect(
Expand All @@ -102,7 +102,13 @@ describe('Personrad', () => {
})
).to.exist;
expect(screen.getByText(testdata.fnr1)).to.exist;
expect(screen.getByText('diskresjonsmerket')).to.exist;
expect(screen.getByRole('img')).to.exist;
});

it('Rendrer ikke ikon når person mangler skjermingskode', () => {
renderPersonrad({ ...defaultPersonData, skjermingskode: 'INGEN' });

expect(screen.queryByRole('img')).to.not.exist;
});

it('Skal rendre frist-dato for aktivitetskrav AVVENT', () => {
Expand Down

0 comments on commit a55baae

Please sign in to comment.