Skip to content

Commit

Permalink
🐛 Opplastingsboks for omsorgsstønad var borte
Browse files Browse the repository at this point in the history
  • Loading branch information
tidnav committed Dec 15, 2023
1 parent 667f22f commit 04b9036
Show file tree
Hide file tree
Showing 5 changed files with 165 additions and 7 deletions.
137 changes: 137 additions & 0 deletions components/pageComponents/standard/Vedlegg/Vedlegg.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
import { renderStepSoknadStandard, screen } from 'setupTests';
import { Step, StepWizard } from 'components/StepWizard';
import React from 'react';
import { toHaveNoViolations } from 'jest-axe';
import messagesNb from 'translations/nb.json';
import userEvent from '@testing-library/user-event';
import Vedlegg from './Vedlegg';
import { SØKNAD_CONTEXT_VERSION } from '../../../../context/soknadContextCommon';
import { GenericSoknadContextState } from '../../../../types/SoknadContext';
import { Soknad } from '../../../../types/Soknad';
import { Relasjon } from '../Barnetillegg/AddBarnModal';
import { JaEllerNei } from '../../../../types/Generic';

expect.extend(toHaveNoViolations);

const requiredVedlegg = [
{
filterType: 'FORELDER',
type: 'bc68d022-7f2e-43fa-8e83-067d405850b1',
description: 'Fødselsattest eller adopsjonsbevis for Tor dafaf',
},
{
filterType: 'FOSTERFORELDER',
type: '56f7e798-4d50-43bd-9734-27cb4de437b3',
description: 'Dokumentasjon på at du er fosterforelder for tor gfsdg, og fra når',
},
{
type: 'OMSORGSSTØNAD',
description: 'Kopi av avtalen om omsorgsstønad fra kommunen din',
},
{
type: 'UTLANDSSTØNAD',
description: 'Dokumentasjon av ytelser fra utenlandske trygdemyndigheter',
},
{
type: 'SYKESTIPEND',
description: 'Kopi av vedtaket eller søknaden om sykestipend fra Lånekassen',
},
{
type: 'LÅN',
description: 'Dokumentasjon på studielån fra Lånekassen',
},
{
type: 'LØNN_OG_ANDRE_GODER',
// eslint-disable-next-line max-len
description: 'Dokumentasjon av ekstra utbetalinger fra arbeidsgiver',
},
{
type: 'AVBRUTT_STUDIE',
description: 'Bekreftelse fra studiested på hvilken dato studiet ble avbrutt fra.',
},
];
const soknadContextInitial: GenericSoknadContextState<Soknad> = {
version: SØKNAD_CONTEXT_VERSION,
type: undefined,
søknad: {
manuelleBarn: [
{
navn: {
fornavn: 'Barn',
etternavn: 'Barnnes',
},
fødseldato: new Date(),
relasjon: Relasjon.FORELDER,
harInntekt: JaEllerNei.NEI,
internId: 'bc68d022-7f2e-43fa-8e83-067d405850b1',
},
{
navn: {
fornavn: 'Barn',
etternavn: 'Barnesen',
},
fødseldato: new Date(),
relasjon: Relasjon.FOSTERFORELDER,
harInntekt: JaEllerNei.NEI,
internId: '56f7e798-4d50-43bd-9734-27cb4de437b3',
},
],
},
requiredVedlegg,
søknadUrl: undefined,
};

describe('Vedlegg', () => {
const user = userEvent.setup();

const Component = () => {
return (
<StepWizard>
<Step name={'VEDLEGG'}>
<Vedlegg onBackClick={jest.fn()} />
</Step>
</StepWizard>
);
};

it('Omsorgsstønad input-boks er synlig', async () => {
renderStepSoknadStandard('VEDLEGG', <Component />, {}, soknadContextInitial);
const textOmsorgsstønad = messagesNb.søknad.andreUtbetalinger.stønad.values.omsorgsstønad;
expect(await screen.findByRole('heading', { level: 1, name: textOmsorgsstønad })).toBeVisible();
});
it('Avbrutt studie input-boks er synlig', async () => {
renderStepSoknadStandard('VEDLEGG', <Component />, {}, soknadContextInitial);
const text = messagesNb.søknad.student.vedlegg.name;
expect(await screen.findByRole('heading', { level: 1, name: text })).toBeVisible();
});
it('Utenlandsstønad input-boks er synlig', async () => {
renderStepSoknadStandard('VEDLEGG', <Component />, {}, soknadContextInitial);
const text = messagesNb.søknad.andreUtbetalinger.stønad.values.utland;
expect(await screen.findByRole('heading', { level: 1, name: text })).toBeVisible();
});
it('Sykestipend input-boks er synlig', async () => {
renderStepSoknadStandard('VEDLEGG', <Component />, {}, soknadContextInitial);
const text = messagesNb.søknad.andreUtbetalinger.stønad.values.stipend;
expect(await screen.findByRole('heading', { level: 1, name: text })).toBeVisible();
});
it('Fosterforelder input-boks er synlig', async () => {
renderStepSoknadStandard('VEDLEGG', <Component />, {}, soknadContextInitial);
const text = messagesNb.søknad.vedlegg.andreBarn.title.FOSTERFORELDER;
expect(await screen.findByRole('heading', { level: 1, name: text })).toBeVisible();
});
it('Forelder input-boks er synlig', async () => {
renderStepSoknadStandard('VEDLEGG', <Component />, {}, soknadContextInitial);
const text = messagesNb.søknad.vedlegg.andreBarn.title.FORELDER;
expect(await screen.findByRole('heading', { level: 1, name: text })).toBeVisible();
});
it('Lønn og andre goder input-boks er synlig', async () => {
renderStepSoknadStandard('VEDLEGG', <Component />, {}, soknadContextInitial);
const text = messagesNb.søknad.andreUtbetalinger.lønn.title;
expect(await screen.findByRole('heading', { level: 1, name: text })).toBeVisible();
});
it('Lån input-boks er synlig', async () => {
renderStepSoknadStandard('VEDLEGG', <Component />, {}, soknadContextInitial);
const text = messagesNb.søknad.andreUtbetalinger.stønad.values.lån;
expect(await screen.findByRole('heading', { level: 1, name: text })).toBeVisible();
});
});
23 changes: 20 additions & 3 deletions components/pageComponents/standard/Vedlegg/Vedlegg.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ const Vedlegg = ({ onBackClick }: Props) => {
.filter((error): error is SøknadValidationError => error !== undefined);

const harPåkrevdeVedlegg = søknadState.requiredVedlegg.length > 0;

console.log('manuelle', søknadState?.søknad?.manuelleBarn);
return (
<SoknadFormWrapperNew
onNext={() => {
Expand Down Expand Up @@ -106,12 +106,29 @@ const Vedlegg = ({ onBackClick }: Props) => {
files={søknadState.søknad?.vedlegg?.AVBRUTT_STUDIE || []}
/>
)}

{søknadState?.requiredVedlegg?.find((e) => e.type === 'OMSORGSSTØNAD') && (
<FileInput
locale={locale}
id={'OMSORGSSTØNAD'}
heading={formatMessage({ id: 'søknad.andreUtbetalinger.stønad.values.omsorgsstønad' })}
ingress={formatMessage({ id: 'søknad.andreUtbetalinger.vedlegg.omsorgsstønad' })}
onUpload={(vedlegg) => {
addVedlegg(søknadDispatch, vedlegg, 'OMSORGSSTØNAD');
}}
onDelete={(vedlegg) => {
deleteVedlegg(søknadDispatch, vedlegg, 'OMSORGSSTØNAD');
}}
deleteUrl={deleteUrl}
uploadUrl={uploadUrl}
readAttachmentUrl={readAttachmentUrl}
files={søknadState.søknad?.vedlegg?.OMSORGSSTØNAD || []}
/>
)}
{søknadState?.requiredVedlegg?.find((e) => e.type === 'LØNN_OG_ANDRE_GODER') && (
<FileInput
locale={locale}
id={'LØNN_OG_ANDRE_GODER'}
heading={'Lønn og andre goder'}
heading={formatMessage({ id: 'søknad.andreUtbetalinger.lønn.title' })}
ingress={formatMessage({ id: 'søknad.andreUtbetalinger.vedlegg.andreGoder' })}
onUpload={(vedlegg) => {
addVedlegg(søknadDispatch, vedlegg, 'LØNN_OG_ANDRE_GODER');
Expand Down
10 changes: 6 additions & 4 deletions setupTests.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import '@testing-library/jest-dom';
import { render as rtlRender, configure } from '@testing-library/react';
import { AppStateContext, AppStateContextState } from 'context/appStateContext';
import { SoknadContextData } from 'context/soknadContextCommon';
import { SoknadContextData, soknadContextInititalState } from 'context/soknadContextCommon';
import {
soknadContextInititalStateStandard,
SoknadContextStandard,
Expand All @@ -15,7 +15,7 @@ import { StepWizardContext, StepWizardContextState } from 'context/stepWizardCon
import { ReactElement, useReducer } from 'react';
import { IntlProvider } from 'react-intl';
import { Soknad } from 'types/Soknad';
import { SøknadType } from 'types/SoknadContext';
import { GenericSoknadContextState, SøknadType } from 'types/SoknadContext';
import { messages, flattenMessages } from 'utils/message';
import links from 'translations/links.json';
jest.setTimeout(10 * 1000);
Expand All @@ -40,10 +40,12 @@ function render(ui: ReactElement, { locale = 'nb', ...options } = {}) {
function renderStepSoknadStandard(
stepName: string,
ui: ReactElement,
{ locale = 'nb', ...options } = {}
{ locale = 'nb', ...options } = {},
initialState?: GenericSoknadContextState<Soknad>
) {
function ProvidersWrapper({ children }: { children: ReactElement }): ReactElement {
const [state, dispatch] = useReducer(soknadReducerStandard, soknadContextInititalStateStandard);
const initialSoknadContext = initialState || soknadContextInititalState;
const [state, dispatch] = useReducer(soknadReducerStandard, initialSoknadContext);
const soknadContext: SoknadContextData<Soknad> = {
søknadState: state,
søknadDispatch: dispatch,
Expand Down
1 change: 1 addition & 0 deletions translations/nb.json
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,7 @@
"text": "Hvis du får utbetalinger fra NAV, arbeidsgiver eller andre, kan din AAP bli redusert. Vi spør om dette fordi du ikke alltid har krav på å få flere typer utbetalinger samtidig. Vi prøver å unngå feilutbetalinger."
},
"lønn": {
"title": "Lønn og andre goder",
"label": "Har du fått eller skal du få ekstra utbetalinger fra arbeidsgiver?",
"readMore": {
"title": "Hva menes med \"ekstra utbetalinger\"?",
Expand Down
1 change: 1 addition & 0 deletions translations/nn.json
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,7 @@
"text": "Dersom du får utbetalingar frå NAV, arbeidsgivar eller andre, kan AAP-en din bli redusert. Vi spør om dette fordi du ikkje alltid har krav på å få fleire typar utbetalingar samstundes. Vi prøver å unngå feilutbetalingar."
},
"lønn": {
"title": "Lønn og andre goder",
"label": "Har du fått eller skal du få ekstra utbetalingar frå arbeidsgivar?",
"readMore": {
"title": "Kva vil «ekstra utbetalingar» seie?",
Expand Down

0 comments on commit 04b9036

Please sign in to comment.