Skip to content

Commit d581dac

Browse files
committed
KAIZEN-0 La til filtrering lokalt
1 parent 2a72df4 commit d581dac

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

src/mock/sok-mock.ts

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,45 @@ import { HandlerArgument, ResponseData } from 'yet-another-fetch-mock';
22
import { BeslutteroversiktSok, VEILARBVEDTAKSSTOTTE_API } from '../rest/api';
33
import { lagBrukere } from './data/brukere';
44
import { Mock } from './index';
5+
import { Bruker } from '../rest/data/bruker';
6+
import { innloggetVeileder } from './data/innlogget-veileder';
57

68
const alleBrukere = lagBrukere(85);
79

810
export const mockBeslutteroversiktSok: Mock = {
911
url: `${VEILARBVEDTAKSSTOTTE_API}/beslutteroversikt/sok`,
1012
handler: async (args: HandlerArgument): Promise<ResponseData> => {
1113
const sok = args.body as BeslutteroversiktSok;
12-
const brukere = alleBrukere.slice(sok.fra, sok.fra + sok.antall);
13-
return { status: 200, body: JSON.stringify({ brukere, totaltAntall: alleBrukere.length }) };
14+
const filtrerteBrukere = filtrerBrukere(sok, alleBrukere);
15+
const paginerteBrukere = filtrerteBrukere.slice(sok.fra, sok.fra + sok.antall);
16+
return { status: 200, body: JSON.stringify({ brukere: paginerteBrukere, totaltAntall: filtrerteBrukere.length }) };
1417
}
1518
};
19+
20+
const filtrerBrukere = (sok: BeslutteroversiktSok, brukere: Bruker[]): Bruker[] => {
21+
return brukere.filter(bruker => {
22+
if (!sok.filter) {
23+
return true;
24+
}
25+
26+
if (sok.filter.visMineBrukere) {
27+
if (bruker.beslutterNavn !== (innloggetVeileder.fornavn + ' ' + innloggetVeileder.etternavn)) {
28+
return false;
29+
}
30+
}
31+
32+
if (sok.filter.status) {
33+
if (bruker.status !== sok.filter.status) {
34+
return false;
35+
}
36+
}
37+
38+
if (sok.filter.enheter && sok.filter.enheter.length > 0) {
39+
if (!sok.filter.enheter.includes(bruker.brukerOppfolgingsenhetId)) {
40+
return false;
41+
}
42+
}
43+
44+
return true;
45+
});
46+
};

0 commit comments

Comments
 (0)