Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nav 22888 småting tilbakekreving #2022

Merged
merged 10 commits into from
Jan 8, 2025
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@ interface IProps {
hendelseTyper: HendelseType[] | undefined;
index: number;
erLesevisning: boolean;
settErBehandlingEndret: (val: boolean) => void;
}

const FeilutbetalingFaktaPeriode: React.FC<IProps> = ({
periode,
hendelseTyper,
index,
erLesevisning,
settErBehandlingEndret,
}) => {
const [hendelseUnderTyper, settHendelseUnderTyper] = React.useState<Array<HendelseUndertype>>();
const { oppdaterUnderårsakPåPeriode, visFeilmeldinger, feilmeldinger, oppdaterÅrsakPåPeriode } =
Expand All @@ -55,12 +57,14 @@ const FeilutbetalingFaktaPeriode: React.FC<IProps> = ({
settHendelseUnderTyper(hentHendelseUndertyper(årsak));
settIkkePersistertKomponent('fakta');
oppdaterÅrsakPåPeriode(periode, årsak);
settErBehandlingEndret(true);
};

const onChangeUnderÅrsak = (e: React.ChangeEvent<HTMLSelectElement>) => {
const underÅrsak = HendelseUndertype[e.target.value as keyof typeof HendelseUndertype];
settIkkePersistertKomponent('fakta');
oppdaterUnderårsakPåPeriode(periode, underÅrsak);
settErBehandlingEndret(true);
};

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,15 @@ interface IProps {
ytelse: Ytelsetype;
perioder: FaktaPeriodeSkjemaData[];
erLesevisning: boolean;
settErBehandlingEndret: (val: boolean) => void;
}

const FeilutbetalingFaktaPerioder: React.FC<IProps> = ({ ytelse, perioder, erLesevisning }) => {
const FeilutbetalingFaktaPerioder: React.FC<IProps> = ({
ytelse,
perioder,
erLesevisning,
settErBehandlingEndret,
}) => {
const [hendelseTyper, settHendelseTyper] = React.useState<HendelseType[]>();
const { fagsak } = useFeilutbetalingFakta();

Expand Down Expand Up @@ -54,6 +60,7 @@ const FeilutbetalingFaktaPerioder: React.FC<IProps> = ({ ytelse, perioder, erLes
key={`formIndex${periode.index + 1}`}
index={periode.index}
erLesevisning={erLesevisning}
settErBehandlingEndret={settErBehandlingEndret}
/>
);
})}
Expand Down
12 changes: 10 additions & 2 deletions src/frontend/komponenter/Fagsak/Fakta/FaktaSkjema.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ const FaktaSkjema: React.FC<IProps> = ({
const { settIkkePersistertKomponent } = useBehandling();
const erKravgrunnlagKnyttetTilEnEnEldreRevurdering =
behandling.fagsystemsbehandlingId !== feilutbetalingFakta.kravgrunnlagReferanse;
const [erBehandlingEndret, settErBehandlingEndret] = React.useState<boolean>(false);

return (
<HGrid columns={2} gap="10">
Expand Down Expand Up @@ -101,7 +102,10 @@ const FaktaSkjema: React.FC<IProps> = ({
<Checkbox
size="small"
checked={behandlePerioderSamlet === true}
onChange={() => settBehandlePerioderSamlet(!behandlePerioderSamlet)}
onChange={() => {
settBehandlePerioderSamlet(!behandlePerioderSamlet);
settErBehandlingEndret(true);
}}
>
Behandle alle perioder samlet
</Checkbox>
Expand All @@ -117,6 +121,7 @@ const FaktaSkjema: React.FC<IProps> = ({
ytelse={ytelse}
erLesevisning={erLesevisning}
perioder={skjemaData.perioder}
settErBehandlingEndret={() => settErBehandlingEndret}
/>
)}
</VStack>
Expand All @@ -128,6 +133,7 @@ const FaktaSkjema: React.FC<IProps> = ({
onChange={e => {
settIkkePersistertKomponent('fakta');
oppdaterBegrunnelse(e.target.value);
settErBehandlingEndret(true);
}}
maxLength={3000}
className={erLesevisning ? 'lesevisning' : ''}
Expand All @@ -149,6 +155,7 @@ const FaktaSkjema: React.FC<IProps> = ({
onChange={(val: HarBrukerUttaltSegValg) => {
settIkkePersistertKomponent('fakta');
oppdaterBrukerHarUttaltSeg(val);
settErBehandlingEndret(true);
}}
>
<Radio
Expand Down Expand Up @@ -192,6 +199,7 @@ const FaktaSkjema: React.FC<IProps> = ({
onChange={e => {
settIkkePersistertKomponent('fakta');
oppdaterBeskrivelseBrukerHarUttaltSeg(e.target.value);
settErBehandlingEndret(true);
}}
maxLength={3000}
className={erLesevisning ? 'lesevisning' : ''}
Expand All @@ -211,7 +219,7 @@ const FaktaSkjema: React.FC<IProps> = ({
loading={senderInn}
disabled={erLesevisning && !stegErBehandlet}
>
{stegErBehandlet ? 'Neste' : 'Bekreft og fortsett'}
{!stegErBehandlet || erBehandlingEndret ? 'Bekreft og fortsett' : 'Neste'}
</Button>
{behandling.harVerge && (
<Button variant="secondary" onClick={gåTilForrige}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,10 +137,20 @@ describe('Tester: VilkårsvurderingContainer', () => {

expect(
getByRole('button', {
name: 'Bekreft og fortsett',
name: 'Bekreft',
})
).toBeDisabled();

await act(() =>
user.type(getByLabelText('Vilkårene for tilbakekreving'), 'Begrunnelse vilkårene 1')
);

expect(
getByRole('button', {
name: 'Bekreft',
})
).toBeEnabled();

await act(() =>
user.click(
getByRole('button', {
Expand All @@ -149,11 +159,8 @@ describe('Tester: VilkårsvurderingContainer', () => {
)
);

expect(queryAllByText('Feltet må fylles ut')).toHaveLength(2);
expect(queryAllByText('Feltet må fylles ut')).toHaveLength(1);

await act(() =>
user.type(getByLabelText('Vilkårene for tilbakekreving'), 'Begrunnelse vilkårene 1')
);
await act(() =>
user.click(
getByLabelText(
Expand All @@ -168,6 +175,12 @@ describe('Tester: VilkårsvurderingContainer', () => {

expect(getByText('Aktsomhet')).toBeTruthy();

expect(
getByRole('button', {
name: 'Bekreft',
})
).toBeEnabled();

await act(() =>
user.click(
getByRole('button', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,10 @@ import {
interface IProps {
skjema: ISkjema<VilkårsvurderingSkjemaDefinisjon, string>;
erLesevisning: boolean;
endreSide: (val: boolean) => void;
}

const AktsomhetsvurderingSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
const AktsomhetsvurderingSkjema: React.FC<IProps> = ({ skjema, erLesevisning, endreSide }) => {
const { settIkkePersistertKomponent } = useBehandling();
const erForstodBurdeForstått =
skjema.felter.vilkårsresultatvurdering.verdi === Vilkårsresultat.FORSTO_BURDE_FORSTÅTT;
Expand Down Expand Up @@ -59,6 +60,7 @@ const AktsomhetsvurderingSkjema: React.FC<IProps> = ({ skjema, erLesevisning })
skjema.felter.forstoIlleggeRenter.validerOgSettFelt(OptionNEI);
}
settIkkePersistertKomponent(`vilkårsvurdering`);
endreSide(true);
return skjema.felter.aktsomhetVurdering.validerOgSettFelt(val);
}}
>
Expand All @@ -72,9 +74,17 @@ const AktsomhetsvurderingSkjema: React.FC<IProps> = ({ skjema, erLesevisning })
</HorisontalRadioGroup>
{skjema.felter.aktsomhetVurdering.verdi !== '' &&
(skjema.felter.aktsomhetVurdering.verdi === Aktsomhet.FORSETT ? (
<GradForsettSkjema skjema={skjema} erLesevisning={erLesevisning} />
<GradForsettSkjema
skjema={skjema}
erLesevisning={erLesevisning}
endreSide={endreSide}
/>
) : (
<GradUaktsomhetSkjema skjema={skjema} erLesevisning={erLesevisning} />
<GradUaktsomhetSkjema
skjema={skjema}
erLesevisning={erLesevisning}
endreSide={endreSide}
/>
))}
</VStack>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ const StyledNormaltekst = styled(BodyShort)`
interface IProps {
skjema: ISkjema<VilkårsvurderingSkjemaDefinisjon, string>;
erLesevisning: boolean;
endreSide: (val: boolean) => void;
}

const GradForsettSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
const GradForsettSkjema: React.FC<IProps> = ({ skjema, erLesevisning, endreSide }) => {
const { kanIlleggeRenter } = useFeilutbetalingVilkårsvurdering();

const erValgtResultatTypeForstoBurdeForstått =
Expand All @@ -45,6 +46,7 @@ const GradForsettSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
kanIlleggeRenter={kanIlleggeRenter}
felt={skjema.felter.forstoIlleggeRenter}
visFeilmeldingerForSkjema={skjema.visFeilmeldinger}
endreSide={endreSide}
/>
</HGrid>
) : (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ import {
interface IProps {
skjema: ISkjema<VilkårsvurderingSkjemaDefinisjon, string>;
erLesevisning: boolean;
endreSide: (val: boolean) => void;
}

const GradUaktsomhetSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
const GradUaktsomhetSkjema: React.FC<IProps> = ({ skjema, erLesevisning, endreSide }) => {
const { settIkkePersistertKomponent } = useBehandling();
const erValgtResultatTypeForstoBurdeForstaatt =
skjema.felter.vilkårsresultatvurdering.verdi === Vilkårsresultat.FORSTO_BURDE_FORSTÅTT;
Expand Down Expand Up @@ -67,7 +68,11 @@ const GradUaktsomhetSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
))}
</HorisontalRadioGroup>
{skjema.felter.tilbakekrevSmåbeløp.verdi === OptionJA && (
<SærligeGrunnerSkjema skjema={skjema} erLesevisning={erLesevisning} />
<SærligeGrunnerSkjema
skjema={skjema}
erLesevisning={erLesevisning}
endreSide={endreSide}
/>
)}
{skjema.felter.tilbakekrevSmåbeløp.verdi === OptionNEI && (
<ArrowBox alignOffset={80}>
Expand All @@ -78,7 +83,11 @@ const GradUaktsomhetSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
)}
{(skjema.felter.aktsomhetVurdering.verdi !== Aktsomhet.SIMPEL_UAKTSOMHET ||
!erTotalbeløpUnder4Rettsgebyr) && (
<SærligeGrunnerSkjema skjema={skjema} erLesevisning={erLesevisning} />
<SærligeGrunnerSkjema
skjema={skjema}
erLesevisning={erLesevisning}
endreSide={endreSide}
/>
)}
</ArrowBox>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,10 @@ const StyledNormaltekst = styled(BodyShort)`
interface IProps {
skjema: ISkjema<VilkårsvurderingSkjemaDefinisjon, string>;
erLesevisning: boolean;
endreSide: (val: boolean) => void;
}

const ReduksjonAvBeløpSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
const ReduksjonAvBeløpSkjema: React.FC<IProps> = ({ skjema, erLesevisning, endreSide }) => {
const { settIkkePersistertKomponent } = useBehandling();
const { valgtPeriode, kanIlleggeRenter } = useFeilutbetalingVilkårsvurdering();
const harMerEnnEnAktivitet = skjema.felter.harMerEnnEnAktivitet.verdi === true;
Expand Down Expand Up @@ -77,6 +78,7 @@ const ReduksjonAvBeløpSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) =>
onChange={(val: JaNeiOption) => {
skjema.felter.grovtUaktsomIlleggeRenter.validerOgSettFelt(OptionNEI);
settIkkePersistertKomponent('vilkårsvurdering');
endreSide(true);
return skjema.felter.harGrunnerTilReduksjon.validerOgSettFelt(val);
}}
>
Expand Down Expand Up @@ -112,6 +114,7 @@ const ReduksjonAvBeløpSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) =>
event.target.value
);
settIkkePersistertKomponent('vilkårsvurdering');
endreSide(true);
}}
value={skjema.felter.uaktsomAndelTilbakekreves.verdi}
style={{ width: '100px' }}
Expand Down Expand Up @@ -145,6 +148,7 @@ const ReduksjonAvBeløpSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) =>
event.target.value
);
settIkkePersistertKomponent('vilkårsvurdering');
endreSide(true);
}}
value={skjema.felter.uaktsomAndelTilbakekrevesManuelt.verdi}
data-testid="andelSomTilbakekrevesManuell"
Expand All @@ -168,6 +172,7 @@ const ReduksjonAvBeløpSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) =>
event.target.value
);
settIkkePersistertKomponent('vilkårsvurdering');
endreSide(true);
}}
style={{ width: '100px' }}
/>
Expand Down Expand Up @@ -202,6 +207,7 @@ const ReduksjonAvBeløpSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) =>
kanIlleggeRenter={kanIlleggeRenter}
felt={skjema.felter.grovtUaktsomIlleggeRenter}
visFeilmeldingerForSkjema={skjema.visFeilmeldinger}
endreSide={endreSide}
/>
)}
</HGrid>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ import { VilkårsvurderingSkjemaDefinisjon } from '../VilkårsvurderingPeriodeSk
interface IProps {
skjema: ISkjema<VilkårsvurderingSkjemaDefinisjon, string>;
erLesevisning: boolean;
endreSide: (val: boolean) => void;
}

const SærligeGrunnerSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
const SærligeGrunnerSkjema: React.FC<IProps> = ({ skjema, erLesevisning, endreSide }) => {
const { settIkkePersistertKomponent } = useBehandling();
const [nonUsedKey, settNonUsedKey] = React.useState<string>(Date.now().toString());

Expand All @@ -28,6 +29,7 @@ const SærligeGrunnerSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
}
settIkkePersistertKomponent(`vilkårsvurdering`);
settNonUsedKey(Date.now().toString());
endreSide(true);
};

return (
Expand All @@ -45,6 +47,7 @@ const SærligeGrunnerSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
onChange={event => {
skjema.felter.særligeGrunnerBegrunnelse.validerOgSettFelt(event.target.value);
settIkkePersistertKomponent(`vilkårsvurdering`);
endreSide(true);
}}
placeholder={
'Begrunn om det foreligger/ ikke foreligger særlige grunner for reduksjon av beløpet som kreves tilbake. Kryss av hvilke særlige grunner som er vektlagt for resultatet'
Expand Down Expand Up @@ -82,12 +85,17 @@ const SærligeGrunnerSkjema: React.FC<IProps> = ({ skjema, erLesevisning }) => {
event.target.value
);
settIkkePersistertKomponent(`vilkårsvurdering`);
endreSide(true);
}}
data-testid={'annetBegrunnelse'}
/>
)}
</VStack>
<ReduksjonAvBeløpSkjema skjema={skjema} erLesevisning={erLesevisning} />
<ReduksjonAvBeløpSkjema
skjema={skjema}
erLesevisning={erLesevisning}
endreSide={endreSide}
/>
</VStack>
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@ interface IProps {
kanIlleggeRenter: boolean;
felt: Felt<JaNeiOption | ''>;
visFeilmeldingerForSkjema: boolean;
endreSide: (val: boolean) => void;
}
const TilleggesRenterRadioGroup: React.FC<IProps> = ({
erLesevisning,
kanIlleggeRenter,
felt,
visFeilmeldingerForSkjema,
endreSide,
}) => {
const { settIkkePersistertKomponent } = useBehandling();

Expand All @@ -41,6 +43,7 @@ const TilleggesRenterRadioGroup: React.FC<IProps> = ({
onChange={(val: JaNeiOption) => {
felt.validerOgSettFelt(val);
settIkkePersistertKomponent(`vilkårsvurdering`);
endreSide(true);
}}
>
{jaNeiOptions.map(opt => (
Expand Down
Loading
Loading