Skip to content

Commit 564dcfd

Browse files
Tester oppfolging (#1342)
* WIP: Tester for oppfolging * WIP: Tester for oppfolging * Disable tester * Mer tester --------- Co-authored-by: henriktheboss <122083502+henriktheboss@users.noreply.github.com>
1 parent 2c1fe65 commit 564dcfd

File tree

5 files changed

+132
-63
lines changed

5 files changed

+132
-63
lines changed

src/moduler/aktiver-digital-oppfolging/AktiverDigitalOppfolgingVarsel.tsx

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,29 +30,27 @@ const AktiverDigitalOppfolgingVarsel = (props: Props) => {
3030
return (
3131
<Alert variant="warning" className="mx-2 mb-5 max-w-2xl">
3232
<Heading spacing size="small" level="3">
33-
Du har reservert deg mot digital kommunikasjon &nbsp;
33+
Du har reservert deg mot digital kommunikasjon
3434
</Heading>
35-
Du kan ikke bruke aktivitetsplanen fordi du har reservert deg
36-
mot digital kommunikasjon i kontakt og reservasjonsregisteret (KRR)
35+
Du kan ikke bruke aktivitetsplanen fordi du har reservert deg mot digital kommunikasjon i kontakt og
36+
reservasjonsregisteret (KRR)
3737
<Link href={'https://www.norge.no/nb/digital-borgar/reservasjon'}>
3838
Gå til norge.no for å fjerne reservasjonen.
3939
</Link>
4040
</Alert>
4141
);
42-
}
43-
else if (reservertIKRR && erVeileder) {
42+
} else if (reservertIKRR && erVeileder) {
4443
return (
4544
<Alert variant="warning" className="mx-2 mb-5 max-w-2xl">
4645
<Heading spacing size="small" level="3">
47-
Brukeren er reservert i KRR &nbsp;
46+
Brukeren er reservert i KRR
4847
</Heading>
49-
Du kan ikke bruke aktivitetsplanen fordi brukeren har
50-
reservert seg mot digital kommunikasjon KRR.
51-
<Link href={'https://www.norge.no/nb/digital-borgar/registrere'}>
52-
Brukeren må gå til norge.no for å fjerne reservasjonen.
48+
Du kan ikke sende meldinger fordi brukeren har reservert seg mot digital kommunikasjon KRR.
49+
<Link href={'https://www.norge.no/nb/digital-borgar/reservasjon'}>
50+
Gå til norge.no for å fjerne reservasjonen.
5351
</Link>
5452
</Alert>
55-
)
53+
);
5654
}
5755
};
5856

src/moduler/filtrering/filter/PeriodeFilter.test.tsx

Lines changed: 42 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import { rest } from 'msw';
2020
import { failOrGrahpqlResponse, mockfnr } from '../../../mocks/utils';
2121
import { aktivitetAdapter, oppfolgingsdperiodeAdapter, PeriodeEntityState } from '../../aktivitet/aktivitet-slice';
2222
import { compareDesc } from 'date-fns';
23+
import { mockLoadedStore } from '../../../testUtils/storeMockUtils';
24+
import { VeilarbAktivitet } from '../../../datatypes/internAktivitetTypes';
2325

2426
const perioder = mockOppfolging.oppfolgingsPerioder.toSorted((a, b) => {
2527
return compareDesc(a.startDato, b.startDato);
@@ -73,47 +75,50 @@ const endaGamlereAktivitet = {
7375
oppfolgingsperiodeId: endaGamlerePeriode.uuid,
7476
};
7577

76-
const aktiviteterIBareLukkedePerioder = () => {
77-
const state = oppfolgingsdperiodeAdapter.getInitialState({
78-
status: Status.OK,
79-
});
80-
const perioder = oppfolgingsdperiodeAdapter.setAll(state, [
81-
{
82-
id: endaGamlereAktivitet.oppfolgingsperiodeId,
83-
aktiviteter: aktivitetAdapter.upsertOne(aktivitetAdapter.getInitialState(), endaGamlereAktivitet),
84-
start: endaGamlerePeriode.startDato,
85-
slutt: endaGamlerePeriode.sluttDato,
86-
},
87-
{
88-
id: gammelVeilarbAktivitet.oppfolgingsperiodeId,
89-
aktiviteter: aktivitetAdapter.upsertOne(aktivitetAdapter.getInitialState(), gammelVeilarbAktivitet),
90-
start: gammelOppfolgingsperiode.startDato,
91-
slutt: gammelOppfolgingsperiode.sluttDato,
92-
},
93-
]);
94-
return perioder;
78+
const aktiviteterIBareLukkedePerioder = (): VeilarbAktivitet[] => {
79+
return [endaGamlereAktivitet, gammelVeilarbAktivitet];
80+
// const state = oppfolgingsdperiodeAdapter.getInitialState({
81+
// status: Status.OK,
82+
// });
83+
// const perioder = oppfolgingsdperiodeAdapter.setAll(state, [
84+
// {
85+
// id: endaGamlereAktivitet.oppfolgingsperiodeId,
86+
// aktiviteter: aktivitetAdapter.upsertOne(aktivitetAdapter.getInitialState(), endaGamlereAktivitet),
87+
// start: endaGamlerePeriode.startDato,
88+
// slutt: endaGamlerePeriode.sluttDato,
89+
// },
90+
// {
91+
// id: gammelVeilarbAktivitet.oppfolgingsperiodeId,
92+
// aktiviteter: aktivitetAdapter.upsertOne(aktivitetAdapter.getInitialState(), gammelVeilarbAktivitet),
93+
// start: gammelOppfolgingsperiode.startDato,
94+
// slutt: gammelOppfolgingsperiode.sluttDato,
95+
// },
96+
// ]);
97+
// return perioder;
9598
};
9699

97-
const aktiviteterÅpenOgLukketPeriode = () => {
98-
const state = oppfolgingsdperiodeAdapter.getInitialState({
99-
status: Status.OK,
100-
});
101-
return oppfolgingsdperiodeAdapter.setAll(state, [
102-
{
103-
id: veilarbAktivitet.oppfolgingsperiodeId,
104-
aktiviteter: aktivitetAdapter.upsertOne(aktivitetAdapter.getInitialState(), veilarbAktivitet),
105-
start: gjeldendeOppfolgingsperiode.startDato,
106-
slutt: undefined,
107-
},
108-
{
109-
id: gammelVeilarbAktivitet.oppfolgingsperiodeId,
110-
aktiviteter: aktivitetAdapter.upsertOne(aktivitetAdapter.getInitialState(), gammelVeilarbAktivitet),
111-
start: gammelOppfolgingsperiode.startDato,
112-
slutt: gammelOppfolgingsperiode.sluttDato,
113-
},
114-
]);
100+
const aktiviteterÅpenOgLukketPeriode = (): VeilarbAktivitet[] => {
101+
return [veilarbAktivitet, gammelVeilarbAktivitet];
102+
// const state = oppfolgingsdperiodeAdapter.getInitialState({
103+
// status: Status.OK,
104+
// });
105+
// return oppfolgingsdperiodeAdapter.setAll(state, [
106+
// {
107+
// id: veilarbAktivitet.oppfolgingsperiodeId,
108+
// aktiviteter: aktivitetAdapter.upsertOne(aktivitetAdapter.getInitialState(), veilarbAktivitet),
109+
// start: gjeldendeOppfolgingsperiode.startDato,
110+
// slutt: undefined,
111+
// },
112+
// {
113+
// id: gammelVeilarbAktivitet.oppfolgingsperiodeId,
114+
// aktiviteter: aktivitetAdapter.upsertOne(aktivitetAdapter.getInitialState(), gammelVeilarbAktivitet),
115+
// start: gammelOppfolgingsperiode.startDato,
116+
// slutt: gammelOppfolgingsperiode.sluttDato,
117+
// },
118+
// ]);
115119
};
116120

121+
117122
const initialStore = (aktiviteter: EntityState<PeriodeEntityState>) =>
118123
({
119124
data: {

src/moduler/oppfolging-status/VidereSendBrukereEllerRenderChildren.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,15 @@ interface VidereSendBrukereEllerRenderChildrenProps {
2525
}
2626

2727

28+
2829
function KRRAdvarsel({ erRegistrertIKRR, erVeilder}: { erRegistrertIKRR: boolean; erVeilder: boolean; }) {
2930
if (!erRegistrertIKRR && !erVeilder) {
3031

3132
return (
3233
<div className="flex items-center flex-col">
3334
<Alert variant="warning" className="mx-2 mb-5 max-w-2xl">
3435
<Heading spacing size="small" level="3">
35-
Vi har ikke din kontaktinformasjon;
36+
Vi har ikke din kontaktinformasjon
3637
</Heading>
3738
<p>
3839
Du kan ikke bruke aktivitetsplanen fordi du ikke har registrert e-post eller telefonnummeret

src/moduler/oppfolging-status/Videresend.test.tsx

Lines changed: 74 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@ import { render, waitFor } from '@testing-library/react';
55
import { WrappedHovedside } from '../../testUtils/WrappedHovedside';
66
import { mockfnr } from '../../mocks/utils';
77
import React from 'react';
8-
import { describe } from 'vitest';
8+
import { afterAll, beforeAll, describe } from 'vitest';
99
import { Status } from '../../createGenericSlice';
1010
import { mockOppfolging } from '../../mocks/data/oppfolging';
1111
import { OppfolgingStatus } from '../../datatypes/oppfolgingTypes';
1212
import { RootState } from '../../store';
13+
import { setupServer } from 'msw/node';
14+
import { handlers } from '../../mocks/handlers';
1315

1416
const defaultOppfolging = mockOppfolging;
1517

@@ -41,6 +43,7 @@ const gitt = {
4143
kanVarsles: false,
4244
registrertKRR: true,
4345
reservasjonKRR: false,
46+
manuell: false,
4447
}),
4548
);
4649
},
@@ -51,6 +54,7 @@ const gitt = {
5154
kanVarsles: true,
5255
registrertKRR: false,
5356
reservasjonKRR: false,
57+
manuell: false,
5458
}),
5559
);
5660
},
@@ -61,26 +65,82 @@ const gitt = {
6165
kanVarsles: true,
6266
registrertKRR: true,
6367
reservasjonKRR: true,
68+
manuell: false,
69+
}),
70+
);
71+
},
72+
manuell: () => {
73+
return lagStore(
74+
storeMedOppfolging({
75+
...defaultOppfolging,
76+
kanVarsles: true,
77+
registrertKRR: true,
78+
reservasjonKRR: false,
79+
manuell: true,
6480
}),
6581
);
6682
},
6783
},
6884
};
6985

70-
describe.skip('Videresend brukere eller render children', () => {
71-
it('skal vise varsel når bruker har utdatert informasjon i KRR', async () => {
72-
const store = gitt.hentStatus.utdatertIKrr();
73-
const { getByText } = render(<WrappedHovedside fnr={mockfnr} store={store} />);
74-
await waitFor(() => getByText('Kontaktinformasjonen din er utdatert'));
86+
const server = setupServer(...handlers);
87+
88+
describe('Videresend brukere eller render children', () => {
89+
beforeAll(() => {
90+
server.listen({ onUnhandledRequest: 'error' });
7591
});
76-
it('skal vise varsel når bruker ikke har registrert informasjon i KRR', async () => {
77-
const store = gitt.hentStatus.ikkeRegistrertIKrr();
78-
const { getByText } = render(<WrappedHovedside fnr={mockfnr} store={store} />);
79-
await waitFor(() => getByText('Vi har ikke din kontaktinformasjon;'));
92+
afterAll(() => {
93+
server.close();
8094
});
81-
it('skal vise varsel når bruker har reservert seg mot digital kommunikasjon i KRR', async () => {
82-
const store = gitt.hentStatus.reserverIKrr();
83-
const { getByText } = render(<WrappedHovedside fnr={mockfnr} store={store} />);
84-
await waitFor(() => getByText('Kontaktinformasjonen din er utdatert'));
95+
96+
describe('Veiledere:', () => {
97+
it('TODO: skal vise varsel når bruker har utdatert informasjon i KRR', async () => {
98+
const store = gitt.hentStatus.utdatertIKrr();
99+
const { getByText } = render(<WrappedHovedside fnr={mockfnr} store={store} />);
100+
// TODO: Vurder å vise feilmelding her
101+
// await waitFor(() => getByText('Kontaktinformasjonen din er utdatert'));
102+
});
103+
it('skal vise varsel når bruker ikke har registrert informasjon i KRR', async () => {
104+
const store = gitt.hentStatus.ikkeRegistrertIKrr();
105+
const { getByText } = render(<WrappedHovedside fnr={mockfnr} store={store} />);
106+
await waitFor(() => getByText('Brukeren er ikke registrert i KRR'));
107+
});
108+
it('skal vise varsel når bruker har reservert seg mot digital kommunikasjon i KRR', async () => {
109+
const store = gitt.hentStatus.reserverIKrr();
110+
const { getByText } = render(<WrappedHovedside fnr={mockfnr} store={store} />);
111+
await waitFor(() => getByText('Brukeren er reservert i KRR'));
112+
});
113+
it('skal vise FEILMEDLING FOR BRUKER? når bruker er manuell', async () => {
114+
const store = gitt.hentStatus.manuell();
115+
const { getByText } = render(<WrappedHovedside fnr={mockfnr} store={store} />);
116+
await waitFor(() =>
117+
getByText('Du har ikke digital oppfølging fra Nav. Du har derfor ikke en digital aktivitetsplan.'),
118+
);
119+
});
120+
});
121+
describe('Brukere:', () => {
122+
it('TODO: skal vise varsel når bruker har utdatert informasjon i KRR', async () => {
123+
const store = gitt.hentStatus.utdatertIKrr();
124+
const { getByText } = render(<WrappedHovedside store={store} />);
125+
// Rendrer aktivitetsplan som normalt her, TODO: fiks logikk og test
126+
// await waitFor(() => getByText('Kontaktinformasjonen din er utdatert'));
127+
});
128+
it('skal vise varsel når bruker ikke har registrert informasjon i KRR', async () => {
129+
const store = gitt.hentStatus.ikkeRegistrertIKrr();
130+
const { getByText } = render(<WrappedHovedside store={store} />);
131+
await waitFor(() => getByText('Vi har ikke din kontaktinformasjon'));
132+
});
133+
it('skal vise varsel når bruker har reservert seg mot digital kommunikasjon i KRR', async () => {
134+
const store = gitt.hentStatus.reserverIKrr();
135+
const { getByText } = render(<WrappedHovedside store={store} />);
136+
await waitFor(() => getByText('Du har reservert deg mot digital kommunikasjon'));
137+
});
138+
it('skal vise dårlig feilmelding når bruker er manuell', async () => {
139+
const store = gitt.hentStatus.manuell();
140+
const { getByText } = render(<WrappedHovedside store={store} />);
141+
await waitFor(() =>
142+
getByText('Du har ikke digital oppfølging fra Nav. Du har derfor ikke en digital aktivitetsplan.'),
143+
);
144+
});
85145
});
86146
});

src/testUtils/defaultInitialStore.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,10 @@ export const initialLoadedEmptyState: RootState = {
9595
status: Status.OK,
9696
data: [],
9797
},
98+
dialog: {
99+
status: Status.OK,
100+
sistOppdatert: '',
101+
data: [],
102+
},
98103
},
99104
};

0 commit comments

Comments
 (0)