diff --git a/mock/barn.ts b/mock/barn.ts new file mode 100644 index 00000000..2232d0d9 --- /dev/null +++ b/mock/barn.ts @@ -0,0 +1,17 @@ +import { formatDate } from 'utils/date'; +import { sub } from 'date-fns'; + +export const mockBarn = () => [ + { + navn: 'Embla Bakke Li', + fødselsdato: formatDate(sub(new Date(), { years: 1 }), 'yyyy-MM-dd')!, + }, + { + navn: 'Jørgen Hatt Emaker', + fødselsdato: formatDate(sub(new Date(), { years: 4 }), 'yyyy-MM-dd')!, + }, + { + navn: 'Jonas Li Ibux', + fødselsdato: formatDate(sub(new Date(), { years: 2 }), 'yyyy-MM-dd')!, + }, +]; diff --git a/pages/[step].tsx b/pages/[step].tsx index 5bf383ac..73d71a7c 100644 --- a/pages/[step].tsx +++ b/pages/[step].tsx @@ -240,20 +240,17 @@ export const getServerSideProps = beskyttetSide( logError('Noe gikk galt i innhenting av mellomlagret søknad', e); } - let barn: Barn[] = søker?.søker?.barn?.map((barn) => { - return { navn: formatNavn(barn.navn), fødselsdato: barn.fødselsdato }; - }); - + let barn: Barn[] = []; try { barn = await getBarn(bearerToken); + barn.sort((barnA, barnB) => { + const a = parse(barnA.fødselsdato, 'yyyy-MM-dd', new Date() as any); + const b = parse(barnB.fødselsdato, 'yyyy-MM-dd', new Date() as any); + return a - b; + }); } catch (e) { logError('Noe gikk galt i kallet mot barn fra aap-oppslag', e); } - barn.sort((barnA, barnB) => { - const a = parse(barnA.fødselsdato, 'yyyy-MM-dd', new Date() as any); - const b = parse(barnB.fødselsdato, 'yyyy-MM-dd', new Date() as any); - return a - b; - }); stopTimer(); diff --git a/pages/api/oppslag/barn.ts b/pages/api/oppslag/barn.ts index 5771cea8..423fe972 100644 --- a/pages/api/oppslag/barn.ts +++ b/pages/api/oppslag/barn.ts @@ -4,6 +4,8 @@ import { beskyttetApi } from 'auth/beskyttetApi'; import { logError, tokenXApiProxy } from '@navikt/aap-felles-utils'; import metrics from 'utils/metrics'; import { z } from 'zod'; +import { mockBarn } from 'mock/barn'; +import { isMock } from 'utils/environments'; const Barn = z.object({ navn: z.string(), @@ -17,15 +19,17 @@ const handler = beskyttetApi(async (req: NextApiRequest, res: NextApiResponse) = }); export const getBarn = async (accessToken?: string): Promise> => { - const barn = await tokenXApiProxy({ - url: `${process.env.OPPSLAG_URL}/person/barn`, - prometheusPath: 'oppslag/barn', - method: 'GET', - audience: process.env.OPPSLAG_AUDIENCE!, - bearerToken: accessToken, - metricsStatusCodeCounter: metrics.backendApiStatusCodeCounter, - metricsTimer: metrics.backendApiDurationHistogram, - }); + const barn = isMock() + ? mockBarn() + : await tokenXApiProxy({ + url: `${process.env.OPPSLAG_URL}/person/barn`, + prometheusPath: 'oppslag/barn', + method: 'GET', + audience: process.env.OPPSLAG_AUDIENCE!, + bearerToken: accessToken, + metricsStatusCodeCounter: metrics.backendApiStatusCodeCounter, + metricsTimer: metrics.backendApiDurationHistogram, + }); const validatedResponse = z.array(Barn).safeParse(barn); if (!validatedResponse.success) {