Skip to content

Commit

Permalink
Uavklarte perioder skal ikke kobles ikke sammen med infotrygd (#6711)
Browse files Browse the repository at this point in the history
* Uavklarte perioder kobles ikke sammen med infotrygd i nyeste versjon av årskvantum

* Fjern test tilhørende fjernet kode

* Fjern ubrukte importer og objekter
  • Loading branch information
audunel authored Oct 23, 2024
1 parent 6f3c3ae commit 398acc8
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 160 deletions.
Original file line number Diff line number Diff line change
@@ -1,102 +1,7 @@
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils';
import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-helper';
import { UtfallEnum, Uttaksperiode, VilkårEnum } from '@k9-sak-web/types';
import { FraværÅrsakEnum } from '@k9-sak-web/types/src/omsorgspenger/Uttaksperiode';
import { screen } from '@testing-library/react';
import React from 'react';
import messages from '../../i18n/nb_NO.json';
import Aktivitet from '../dto/Aktivitet';
import { FormContent, FormValues, begrunnelseUavklartePerioder, transformValues } from './AksjonspunktForm9014';
import { FormValues, begrunnelseUavklartePerioder, transformValues } from './AksjonspunktForm9014';

describe('<AksjonspunktForm>', () => {
const uavklartPeriode: Uttaksperiode = {
utfall: UtfallEnum.UAVKLART,
fraværÅrsak: FraværÅrsakEnum.ORDINÆRT_FRAVÆR,
periode: '2020-03-01/2020-03-31',
utbetalingsgrad: 0,
hjemler: [],
vurderteVilkår: {
vilkår: {
[VilkårEnum.NOK_DAGER]: UtfallEnum.UAVKLART,
},
},
};

const innvilgetPeriode: Uttaksperiode = {
utfall: UtfallEnum.INNVILGET,
fraværÅrsak: FraværÅrsakEnum.ORDINÆRT_FRAVÆR,
periode: '2020-03-01/2020-03-31',
utbetalingsgrad: 100,
hjemler: [],
vurderteVilkår: {
vilkår: {
[VilkårEnum.ALDERSVILKÅR_BARN]: UtfallEnum.INNVILGET,
},
},
};

describe('<FormContent>', () => {
it('viser kun en checkbox hvis man har minst én uavklart periode', () => {
const aktiviteter: Aktivitet[] = [
{
uttaksperioder: [uavklartPeriode],
arbeidsforhold: { type: 'AT' },
},
{
uttaksperioder: [innvilgetPeriode],
arbeidsforhold: { type: 'AT' },
},
];
renderWithIntlAndReduxForm(
<FormContent
{...reduxFormPropsMock}
aktiviteter={aktiviteter}
isAksjonspunktOpen
fosterbarn={[]}
aksjonspunktKode={aksjonspunktCodes.VURDER_ÅRSKVANTUM_KVOTE}
valgValue={null}
/>,
{ messages },
);

expect(
screen.getByText(
'Det finnes overlappende perioder i Infotrygd. Annuller perioden i Infotrygd og kjør behandlingen på nytt.',
),
).toBeInTheDocument();
expect(screen.getByRole('checkbox')).toBeInTheDocument();
expect(screen.queryByRole('radio')).not.toBeInTheDocument();
});

it('viser radios hvis man ikke har uavklarte perioder', () => {
const aktiviteter: Aktivitet[] = [
{
uttaksperioder: [innvilgetPeriode],
arbeidsforhold: { type: 'AT' },
},
{
uttaksperioder: [innvilgetPeriode],
arbeidsforhold: { type: 'AT' },
},
];
renderWithIntlAndReduxForm(
<FormContent
{...reduxFormPropsMock}
aktiviteter={aktiviteter}
isAksjonspunktOpen
fosterbarn={[]}
aksjonspunktKode={aksjonspunktCodes.VURDER_ÅRSKVANTUM_KVOTE}
valgValue={null}
/>,
{ messages },
);

expect(screen.queryByRole('checkbox')).not.toBeInTheDocument();
expect(screen.getAllByRole('radio').length).toBe(2);
});
});

describe('transformValues', () => {
it('mapper valg', () => {
const valgtReBehandling: FormValues = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { CheckboxField, RadioGroupField, TextAreaField } from '@fpsak-frontend/form/index';
import { RadioGroupField, TextAreaField } from '@fpsak-frontend/form/index';
import { behandlingForm, getBehandlingFormName } from '@fpsak-frontend/form/src/behandlingForm';
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import { AksjonspunktHelpText, BorderBox, VerticalSpacer } from '@fpsak-frontend/shared-components';
import { hasValidText, hasValidValue, maxLength, minLength, required } from '@fpsak-frontend/utils';
import { Aksjonspunkt, UtfallEnum, Uttaksperiode, VilkårEnum } from '@k9-sak-web/types';
import { hasValidText, maxLength, minLength, required } from '@fpsak-frontend/utils';
import { Aksjonspunkt } from '@k9-sak-web/types';
import { Button, Label, Table } from '@navikt/ds-react';
import React, { useMemo } from 'react';
import React from 'react';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { ConfigProps, FieldArray, InjectedFormProps, SubmitHandler, formValueSelector } from 'redux-form';
Expand Down Expand Up @@ -37,11 +37,6 @@ interface FormContentProps {

const årskvantumAksjonspunktFormName = 'årskvantumAksjonspunktFormName';

const vilkårHarOverlappendePerioderIInfotrygd = (uttaksperiode: Uttaksperiode) =>
Object.entries(uttaksperiode.vurderteVilkår.vilkår).some(
([vilkår, utfall]) => vilkår === VilkårEnum.NOK_DAGER && utfall === UtfallEnum.UAVKLART,
) && !uttaksperiode.hjemler.some(hjemmel => hjemmel === 'FTRL_9_7__4');

const utledAksjonspunktKode = (aksjonspunkter: Aksjonspunkt[]) => {
// 9014 skal ha presedens
if (aksjonspunkter.find(ap => ap.definisjon.kode === aksjonspunktCodes.ÅRSKVANTUM_FOSTERBARN))
Expand All @@ -55,69 +50,14 @@ const utledAksjonspunktKode = (aksjonspunkter: Aksjonspunkt[]) => {

export const FormContent = ({
handleSubmit,
aktiviteter = [],
isAksjonspunktOpen,
fosterbarn,
aksjonspunktKode,
valgValue,
initialValues,
}: FormContentProps) => {
const uavklartePerioderPgaInfotrygd = useMemo(
() =>
aktiviteter
.flatMap(({ uttaksperioder }) => uttaksperioder)
.filter(
({ utfall, hjemler }) =>
utfall === UtfallEnum.UAVKLART && !hjemler.some(hjemmelen => hjemmelen === 'FTRL_9_7__4'),
),
[aktiviteter],
);

const erÅF = aksjonspunktKode === aksjonspunktCodes.ÅRSKVANTUM_FOSTERBARN;
const harUavklartePerioder = uavklartePerioderPgaInfotrygd.length > 0;

if (harUavklartePerioder) {
const harOverlappendePerioderIInfotrygd = uavklartePerioderPgaInfotrygd.some(uttaksperiode =>
vilkårHarOverlappendePerioderIInfotrygd(uttaksperiode),
);

return (
<>
<AksjonspunktHelpText isAksjonspunktOpen={isAksjonspunktOpen}>
{[
<FormattedMessage
key={1}
id={
harOverlappendePerioderIInfotrygd
? 'Årskvantum.Aksjonspunkt.Uavklart.OverlappInfotrygd'
: 'Årskvantum.Aksjonspunkt.Uavklart.UidentifiserteRammemeldinger'
}
/>,
]}
</AksjonspunktHelpText>
{isAksjonspunktOpen && (
<>
<VerticalSpacer sixteenPx />
<div className={styles.spaceBetween}>
<CheckboxField
// @ts-expect-error Migrert frå ts-ignore, uvisst kvifor denne trengs
validate={[hasValidValue(true)]}
name="bekreftInfotrygd"
label={{
id: harOverlappendePerioderIInfotrygd
? 'Årskvantum.Aksjonspunkt.Overlapp.BekreftInfotrygd'
: 'Årskvantum.Aksjonspunkt.Uavklart.BekreftInfotrygd',
}}
/>
<Button size="small" variant="primary" onClick={handleSubmit} type="submit">
<FormattedMessage id="Årskvantum.Aksjonspunkt.Uavklart.KjørPåNytt" />
</Button>
</div>
</>
)}
</>
);
}

return (
<>
Expand Down

0 comments on commit 398acc8

Please sign in to comment.