@@ -2,14 +2,45 @@ import { HandlerArgument, ResponseData } from 'yet-another-fetch-mock';
2
2
import { BeslutteroversiktSok , VEILARBVEDTAKSSTOTTE_API } from '../rest/api' ;
3
3
import { lagBrukere } from './data/brukere' ;
4
4
import { Mock } from './index' ;
5
+ import { Bruker } from '../rest/data/bruker' ;
6
+ import { innloggetVeileder } from './data/innlogget-veileder' ;
5
7
6
8
const alleBrukere = lagBrukere ( 85 ) ;
7
9
8
10
export const mockBeslutteroversiktSok : Mock = {
9
11
url : `${ VEILARBVEDTAKSSTOTTE_API } /beslutteroversikt/sok` ,
10
12
handler : async ( args : HandlerArgument ) : Promise < ResponseData > => {
11
13
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 } ) } ;
14
17
}
15
18
} ;
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