Skip to content

Commit 7ae2bdc

Browse files
committed
PEK-459: Legg til feilhåndtering av kryptering av fnr
1 parent c6bccf7 commit 7ae2bdc

File tree

2 files changed

+25
-12
lines changed

2 files changed

+25
-12
lines changed

src/mocks/handlers.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,12 +124,6 @@ export const getHandlers = (baseUrl: string = API_PATH) => [
124124

125125
http.post(`${baseUrl}/v1/encrypt`, async ({ request }) => {
126126
await delay(TEST_DELAY)
127-
// const FAILING_FNR = '40100000000'
128-
// const reqFnr = request.body.fnr
129-
// if (reqFnr === FAILING_FNR) {
130-
// return HttpResponse.json({}, { status: 401 })
131-
// }
132-
133127
return HttpResponse.text('this-is-just-jibbrish-encrypted-fnr')
134128
}),
135129

src/pages/VeilederInput/VeilederInput.tsx

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,15 @@ export const VeilederInput = () => {
5151
skip: !veilederBorgerFnr.fnr || !veilederBorgerFnr.encryptedFnr,
5252
})
5353

54+
const [encryptedRequestLoading, setEncryptedRequestLoading] = React.useState<
55+
'IDLE' | 'LOADING' | 'SUCCESS' | 'ERROR'
56+
>('IDLE')
57+
58+
const isLoading = React.useMemo(
59+
() => personLoading || encryptedRequestLoading === 'LOADING',
60+
[personLoading, encryptedRequestLoading]
61+
)
62+
5463
const hasTimedOut = React.useMemo(() => {
5564
const queryParams = new URLSearchParams(window.location.search)
5665
return queryParams.has('timeout')
@@ -74,10 +83,19 @@ export const VeilederInput = () => {
7483
}
7584

7685
const encryptFnr = (fnr: string) => {
86+
setEncryptedRequestLoading('LOADING')
7787
return fetch(`${API_BASEURL}/v1/encrypt`, {
7888
method: 'POST',
7989
body: fnr,
80-
}).then((res) => res.text())
90+
})
91+
.then((res) => {
92+
setEncryptedRequestLoading('SUCCESS')
93+
return res.text()
94+
})
95+
.catch(() => {
96+
setEncryptedRequestLoading('ERROR')
97+
throw new Error('Kunne ikke hente kryptert fnr.')
98+
})
8199
}
82100

83101
const onSubmit = (event: React.FormEvent<HTMLFormElement>) => {
@@ -116,11 +134,7 @@ export const VeilederInput = () => {
116134
)
117135
}
118136

119-
if (
120-
(!personSuccess && !veilederBorgerFnr.fnr) ||
121-
personError ||
122-
personLoading
123-
) {
137+
if ((!personSuccess && !veilederBorgerFnr.fnr) || personError || isLoading) {
124138
return (
125139
<div data-testid="veileder-uten-borger">
126140
<InternalHeader>
@@ -142,6 +156,11 @@ export const VeilederInput = () => {
142156
<br /> Logg inn på bruker på nytt.
143157
</Alert>
144158
)}
159+
{encryptedRequestLoading === 'ERROR' && (
160+
<Alert variant="error" data-testid="inaktiv-alert">
161+
Feil ved kryptering av fødselsnummer
162+
</Alert>
163+
)}
145164
<VeilederInputRequestError personError={personError} />
146165
<BodyLong>
147166
Logg inn i pensjonskalkulator på vegne av bruker.

0 commit comments

Comments
 (0)