From 0746e61b508fa9d5e18c7cec9dee9dd3006ffd5c Mon Sep 17 00:00:00 2001 From: "Thomas H. Wiberg" Date: Wed, 8 Jan 2025 15:26:25 +0100 Subject: [PATCH 1/4] Legge til storybook for inntektsgradering i uttak --- .../src/types/ArbeidsgiverOpplysninger.ts | 4 + .../src/types/GraderingMotTilsyn.ts | 1 + .../src/types/Inngangsvilk\303\245r.ts" | 3 +- .../prosess-uttak/src/types/Uttaksperiode.ts | 25 +- .../prosess-uttak/src/ui/Uttak.stories.tsx | 544 ++++++++++-------- .../uttak-detaljer/NyUttakDetaljer.tsx | 5 +- 6 files changed, 328 insertions(+), 254 deletions(-) diff --git a/packages/prosess-uttak/src/types/ArbeidsgiverOpplysninger.ts b/packages/prosess-uttak/src/types/ArbeidsgiverOpplysninger.ts index 2af25079a5..4dd4ee88f2 100644 --- a/packages/prosess-uttak/src/types/ArbeidsgiverOpplysninger.ts +++ b/packages/prosess-uttak/src/types/ArbeidsgiverOpplysninger.ts @@ -3,6 +3,10 @@ export type ArbeidsgiverOpplysninger = Readonly<{ fødselsdato?: string; identifikator?: string; personIdentifikator?: string; + arbeidsforholdreferanser?: { + internArbeidsforholdId: string; + eksternArbeidsforholdId: string; + }[]; }>; export default ArbeidsgiverOpplysninger; diff --git a/packages/prosess-uttak/src/types/GraderingMotTilsyn.ts b/packages/prosess-uttak/src/types/GraderingMotTilsyn.ts index 58ff23ddc7..a99cabf09d 100644 --- a/packages/prosess-uttak/src/types/GraderingMotTilsyn.ts +++ b/packages/prosess-uttak/src/types/GraderingMotTilsyn.ts @@ -5,4 +5,5 @@ export default interface GraderingMotTilsyn { andreSøkeresTilsyn: number; tilgjengeligForSøker: number; overseEtablertTilsynÅrsak?: OverseEtablertTilsynÅrsak; + andreSøkeresTilsynReberegnet?: boolean; } diff --git "a/packages/prosess-uttak/src/types/Inngangsvilk\303\245r.ts" "b/packages/prosess-uttak/src/types/Inngangsvilk\303\245r.ts" index e2eb6ac01e..3c8bf7cf64 100644 --- "a/packages/prosess-uttak/src/types/Inngangsvilk\303\245r.ts" +++ "b/packages/prosess-uttak/src/types/Inngangsvilk\303\245r.ts" @@ -7,7 +7,8 @@ export default interface Inngangsvilkår { K9_VK_3: Utfall; FP_VK_21: Utfall; FP_VK_23: Utfall; - FP_VK_34: Utfall; + FP_VK_34?: Utfall; + FP_VK_41?: Utfall; // eslint-disable-next-line camelcase K9_VK_2_a: Utfall; } diff --git a/packages/prosess-uttak/src/types/Uttaksperiode.ts b/packages/prosess-uttak/src/types/Uttaksperiode.ts index 5a2a463817..3595baf785 100644 --- a/packages/prosess-uttak/src/types/Uttaksperiode.ts +++ b/packages/prosess-uttak/src/types/Uttaksperiode.ts @@ -1,4 +1,4 @@ -import { Periode } from '@k9-sak-web/types'; +import { Kilde, Periode } from '@k9-sak-web/types'; import AnnenPart from '../constants/AnnenPart'; import Utfall from '../constants/Utfall'; import Årsaker from '../constants/Årsaker'; @@ -7,10 +7,13 @@ import GraderingMotTilsyn from './GraderingMotTilsyn'; import Inngangsvilkår from './Inngangsvilkår'; import Period from './Period'; import Utbetalingsgrad from './Utbetalingsgrad'; +import Vurderingsresultat from '@k9-sak-web/fakta-etablert-tilsyn/src/types/Vurderingsresultat'; export interface Uttaksperiodeelement { utfall: Utfall; uttaksgrad: number; + uttaksgradMedReduksjonGrunnetInntektsgradering?: number; + uttaksgradUtenReduksjonGrunnetInntektsgradering?: number; søkerBerOmMaksimalt?: number; årsaker: Årsaker[]; inngangsvilkår: Inngangsvilkår; @@ -20,7 +23,10 @@ export interface Uttaksperiodeelement { utbetalingsgrader: Utbetalingsgrad[]; graderingMotTilsyn: GraderingMotTilsyn; annenPart: AnnenPart; + nattevåk?: UttaksperiodeBeskrivelserMedVurderinger; + beredskap?: UttaksperiodeBeskrivelserMedVurderinger; søkersTapteArbeidstid: number; + oppgittTilsyn?: string; pleiebehov: number; endringsstatus?: Endringsstatus; utenlandsoppholdUtenÅrsak?: boolean; @@ -29,6 +35,23 @@ export interface Uttaksperiodeelement { landkode: string; årsak: string; }; + søkersTapteTimer?: string; +} + +export interface UttaksperiodeBeskrivelserMedVurderinger { + beskrivelser: { + periode: Periode; + tekst: string; + mottattDato: string; + kilde: Kilde; + }; + vurderinger: { + id: number; + periode: Periode; + begrunnelse: string; + resultat: Vurderingsresultat; + kilde: Kilde; + }; } export interface Uttaksperiode extends Uttaksperiodeelement { diff --git a/packages/prosess-uttak/src/ui/Uttak.stories.tsx b/packages/prosess-uttak/src/ui/Uttak.stories.tsx index e06d860364..443fcc0e9d 100644 --- a/packages/prosess-uttak/src/ui/Uttak.stories.tsx +++ b/packages/prosess-uttak/src/ui/Uttak.stories.tsx @@ -2,13 +2,11 @@ import type { Meta, StoryObj } from '@storybook/react'; import { AnnenPart, Arbeidstype, Utfall, Årsaker } from '../constants'; import { Endringsstatus } from '../types'; import UttakContainer from './UttakContainer'; -// import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi'; - -// requestApi.mock(K9sakApiKeys.FEATURE_TOGGLE, [{ key: 'BRUK_INNTEKTSGRADERING_I_UTTAK', value: 'true' }]); +import FeatureTogglesContext from '@k9-sak-web/gui/utils/featureToggles/FeatureTogglesContext.js'; +import { userEvent, within, expect, fireEvent, fn, logRoles } from '@storybook/test'; const meta: Meta = { title: 'prosess/prosess-uttak', - component: UttakContainer, }; export default meta; @@ -211,251 +209,297 @@ export const Uttak: Story = { readOnly: false, }, }, + render: props => , }; -// export const UttakMedInntektsgradering: Story = { -// args: { -// containerData: { -// aktivBehandlingUuid: '123456', -// uttaksperioder: { -// '2021-03-01/2021-03-08': { -// utfall: Utfall.OPPFYLT, -// uttaksgrad: 50.0, -// utbetalingsgrader: [ -// { -// arbeidsforhold: { -// type: Arbeidstype.ARBEIDSTAKER, -// organisasjonsnummer: '123456', -// aktørId: null, -// arbeidsforholdId: null, -// }, -// normalArbeidstid: 'PT7H30M', -// faktiskArbeidstid: 'PT2H37M', -// utbetalingsgrad: 50.0, -// tilkommet: false, -// }, -// { -// arbeidsforhold: { -// type: Arbeidstype.ARBEIDSTAKER, -// organisasjonsnummer: '654321', -// aktørId: null, -// arbeidsforholdId: null, -// }, -// normalArbeidstid: 'PT3H30M', -// faktiskArbeidstid: 'PT1H30M', -// utbetalingsgrad: 50.0, -// tilkommet: true, -// }, -// ], -// søkersTapteArbeidstid: 67.11, -// årsaker: [Årsaker.AVKORTET_MOT_INNTEKT], -// inngangsvilkår: { -// FP_VK_2: Utfall.OPPFYLT, -// FP_VK_3: Utfall.OPPFYLT, -// K9_VK_1: Utfall.OPPFYLT, -// K9_VK_3: Utfall.OPPFYLT, -// FP_VK_21: Utfall.OPPFYLT, -// FP_VK_23: Utfall.OPPFYLT, -// FP_VK_34: Utfall.OPPFYLT, -// K9_VK_2_a: Utfall.OPPFYLT, -// }, -// pleiebehov: 100.0, -// graderingMotTilsyn: { -// etablertTilsyn: 0.0, -// overseEtablertTilsynÅrsak: null, -// andreSøkeresTilsyn: 50.0, -// tilgjengeligForSøker: 50.0, -// }, -// knekkpunktTyper: [], -// kildeBehandlingUUID: '123456', -// endringsstatus: 'NY' as Endringsstatus, -// annenPart: AnnenPart.MED_ANDRE, -// manueltOverstyrt: false, -// }, -// '2021-03-10/2021-03-22': { -// utfall: Utfall.OPPFYLT, -// uttaksgrad: 65.0, -// utbetalingsgrader: [ -// { -// arbeidsforhold: { -// type: Arbeidstype.ARBEIDSTAKER, -// organisasjonsnummer: '123456', -// aktørId: null, -// arbeidsforholdId: null, -// }, -// normalArbeidstid: 'PT7H30M', -// faktiskArbeidstid: 'PT9H37M', -// utbetalingsgrad: 65.0, -// tilkommet: false, -// }, -// ], -// søkersTapteArbeidstid: 65.11, -// årsaker: [Årsaker.AVKORTET_MOT_INNTEKT], -// inngangsvilkår: { -// FP_VK_2: Utfall.OPPFYLT, -// FP_VK_3: Utfall.OPPFYLT, -// K9_VK_1: Utfall.OPPFYLT, -// K9_VK_3: Utfall.OPPFYLT, -// FP_VK_21: Utfall.OPPFYLT, -// FP_VK_23: Utfall.OPPFYLT, -// FP_VK_34: Utfall.OPPFYLT, -// K9_VK_2_a: Utfall.OPPFYLT, -// }, -// pleiebehov: 100.0, -// graderingMotTilsyn: { -// etablertTilsyn: 0.0, -// overseEtablertTilsynÅrsak: null, -// andreSøkeresTilsyn: 0.0, -// tilgjengeligForSøker: 100.0, -// }, -// knekkpunktTyper: ['ANNEN_PARTS_UTTAK'], -// kildeBehandlingUUID: '123456', -// annenPart: AnnenPart.ALENE, -// endringsstatus: 'ENDRET' as Endringsstatus, -// manueltOverstyrt: false, -// }, -// '2021-03-23/2021-03-31': { -// utfall: Utfall.IKKE_OPPFYLT, -// uttaksgrad: 0.0, -// utbetalingsgrader: [ -// { -// arbeidsforhold: { -// type: Arbeidstype.ARBEIDSTAKER, -// organisasjonsnummer: '123456', -// aktørId: null, -// arbeidsforholdId: null, -// }, -// normalArbeidstid: 'PT7H30M', -// faktiskArbeidstid: 'PT2H37M', -// utbetalingsgrad: 0.0, -// tilkommet: false, -// }, -// ], -// søkersTapteArbeidstid: 65.11, -// årsaker: [Årsaker.FOR_LAV_ØNSKET_UTTAKSGRAD, Årsaker.INNGANGSVILKÅR_IKKE_OPPFYLT], -// inngangsvilkår: { -// FP_VK_2: Utfall.OPPFYLT, -// FP_VK_3: Utfall.OPPFYLT, -// K9_VK_1: Utfall.OPPFYLT, -// K9_VK_3: Utfall.OPPFYLT, -// FP_VK_34: Utfall.OPPFYLT, -// K9_VK_2_a: Utfall.IKKE_OPPFYLT, -// FP_VK_21: Utfall.OPPFYLT, -// FP_VK_23: Utfall.OPPFYLT, -// }, -// pleiebehov: 0.0, -// graderingMotTilsyn: null, -// knekkpunktTyper: [], -// kildeBehandlingUUID: '123456', -// annenPart: AnnenPart.ALENE, -// endringsstatus: 'UENDRET' as Endringsstatus, -// manueltOverstyrt: false, -// }, -// '2021-04-02/2021-04-14': { -// utfall: Utfall.IKKE_OPPFYLT, -// uttaksgrad: 0.0, -// utbetalingsgrader: [ -// { -// arbeidsforhold: { -// type: Arbeidstype.ARBEIDSTAKER, -// organisasjonsnummer: '123456', -// aktørId: null, -// arbeidsforholdId: null, -// }, -// normalArbeidstid: 'PT7H30M', -// faktiskArbeidstid: 'PT2H37M', -// utbetalingsgrad: 0.0, -// tilkommet: false, -// }, -// ], -// søkersTapteArbeidstid: 65.11, -// årsaker: [Årsaker.FOR_MANGE_DAGER_UTENLANDSOPPHOLD], -// inngangsvilkår: { -// FP_VK_2: Utfall.OPPFYLT, -// FP_VK_3: Utfall.OPPFYLT, -// K9_VK_1: Utfall.OPPFYLT, -// K9_VK_3: Utfall.OPPFYLT, -// FP_VK_34: Utfall.OPPFYLT, -// K9_VK_2_a: Utfall.OPPFYLT, -// FP_VK_21: Utfall.OPPFYLT, -// FP_VK_23: Utfall.OPPFYLT, -// }, -// pleiebehov: 0.0, -// graderingMotTilsyn: null, -// knekkpunktTyper: [], -// kildeBehandlingUUID: '123456', -// annenPart: AnnenPart.ALENE, -// endringsstatus: 'UENDRET' as Endringsstatus, -// utenlandsoppholdUtenÅrsak: true, -// manueltOverstyrt: false, -// }, -// }, -// inntektsgraderinger: [ -// { -// periode: { -// fom: '2021-03-01', -// tom: '2021-03-08', -// }, -// inntektsforhold: [ -// { -// type: Arbeidstype.ARBEIDSTAKER, -// arbeidsgiverIdentifikator: '123456', -// arbeidstidprosent: 0, -// løpendeInntekt: 0, -// bruttoInntekt: 480000, -// erNytt: false, -// }, -// { -// type: Arbeidstype.ARBEIDSTAKER, -// arbeidsgiverIdentifikator: '654321', -// arbeidstidprosent: 57, -// løpendeInntekt: 136800, -// bruttoInntekt: 240000, -// erNytt: true, -// }, -// ], -// beregningsgrunnlag: 720000, -// løpendeInntekt: 136800, -// bortfaltInntekt: 583200, -// reduksjonsProsent: 81, -// graderingsProsent: 19, -// }, -// ], -// arbeidsforhold: { -// 123456: { -// identifikator: '123456', -// navn: 'BEDRIFT AS', -// fødselsdato: null, -// }, -// 654321: { -// identifikator: '654321', -// navn: 'ANNEN BEDRIFT AS', -// fødselsdato: null, -// }, -// }, -// aksjonspunktkoder: [], -// kodeverkUtenlandsoppholdÅrsak: [ -// { -// kode: 'INGEN', -// navn: 'Ingen årsak til utenlandsoppholdet er oppgitt, perioden telles i 8 uker', -// kodeverk: 'UTENLANDSOPPHOLD_ÅRSAK', -// }, -// { -// kode: 'BARNET_INNLAGT_I_HELSEINSTITUSJON_FOR_NORSK_OFFENTLIG_REGNING', -// navn: 'Barnet/den pleietrengende er innlagt i helseinstitusjon for norsk offentlig regning (mottar ytelse som i Norge, telles ikke i 8 uker)', -// kodeverk: 'UTENLANDSOPPHOLD_ÅRSAK', -// }, -// { -// kode: 'BARNET_INNLAGT_I_HELSEINSTITUSJON_DEKKET_ETTER_AVTALE_MED_ET_ANNET_LAND_OM_TRYGD', -// navn: 'Barnet/den pleietrengende er innlagt i helseinstitusjon dekket etter avtale med annet land om trygd (mottar ytelse som i Norge, telles ikke i 8 uker)', -// kodeverk: 'UTENLANDSOPPHOLD_ÅRSAK', -// }, -// ], -// utsattePerioder: [], -// erFagytelsetypeLivetsSluttfase: false, -// løsAksjonspunktVurderDatoNyRegelUttak: undefined, -// virkningsdatoUttakNyeRegler: '', -// readOnly: false, -// }, -// }, -// }; +export const UttakMedInntektsgradering: Story = { + args: { + containerData: { + aktivBehandlingUuid: '123456', + uttaksperioder: { + '2023-01-02/2023-01-31': { + utfall: Utfall.OPPFYLT, + uttaksgrad: 100, + uttaksgradMedReduksjonGrunnetInntektsgradering: null, + uttaksgradUtenReduksjonGrunnetInntektsgradering: 100, + utbetalingsgrader: [ + { + arbeidsforhold: { + type: Arbeidstype.ARBEIDSTAKER, + organisasjonsnummer: '111111111', + aktørId: null, + arbeidsforholdId: null, + }, + normalArbeidstid: 'PT4H', + faktiskArbeidstid: 'PT0S', + utbetalingsgrad: 100, + tilkommet: false, + }, + { + arbeidsforhold: { + type: Arbeidstype.ARBEIDSTAKER, + organisasjonsnummer: '222222222', + aktørId: null, + arbeidsforholdId: null, + }, + normalArbeidstid: 'PT4H', + faktiskArbeidstid: 'PT0S', + utbetalingsgrad: 100, + tilkommet: false, + }, + ], + søkersTapteArbeidstid: 100, + oppgittTilsyn: 'PT7H30M', + årsaker: [Årsaker.FULL_DEKNING], + inngangsvilkår: { + FP_VK_2: Utfall.OPPFYLT, + FP_VK_3: Utfall.OPPFYLT, + K9_VK_1: Utfall.OPPFYLT, + K9_VK_3: Utfall.OPPFYLT, + FP_VK_21: Utfall.OPPFYLT, + FP_VK_23: Utfall.OPPFYLT, + FP_VK_41: Utfall.OPPFYLT, + K9_VK_2_a: Utfall.OPPFYLT, + }, + pleiebehov: 200, + graderingMotTilsyn: { + etablertTilsyn: 0, + overseEtablertTilsynÅrsak: null, + andreSøkeresTilsyn: 0, + andreSøkeresTilsynReberegnet: false, + tilgjengeligForSøker: 100, + }, + knekkpunktTyper: [], + kildeBehandlingUUID: '630c98e1-f995-4e98-8699-8932d9a2c998', + annenPart: AnnenPart.ALENE, + nattevåk: null, + beredskap: null, + endringsstatus: 'NY', + utenlandsoppholdUtenÅrsak: false, + utenlandsopphold: { + ErEøsLand: false, + landkode: null, + årsak: 'INGEN', + }, + manueltOverstyrt: false, + søkersTapteTimer: 'PT8H', + }, + '2023-02-01/2023-04-28': { + utfall: Utfall.OPPFYLT, + uttaksgrad: 20, + uttaksgradMedReduksjonGrunnetInntektsgradering: 20, + uttaksgradUtenReduksjonGrunnetInntektsgradering: 100, + utbetalingsgrader: [ + { + arbeidsforhold: { + type: Arbeidstype.ARBEIDSTAKER, + organisasjonsnummer: '111111111', + aktørId: null, + arbeidsforholdId: null, + }, + normalArbeidstid: 'PT4H', + faktiskArbeidstid: 'PT0S', + utbetalingsgrad: 100, + tilkommet: false, + }, + { + arbeidsforhold: { + type: Arbeidstype.ARBEIDSTAKER, + organisasjonsnummer: '222222222', + aktørId: null, + arbeidsforholdId: null, + }, + normalArbeidstid: 'PT4H', + faktiskArbeidstid: 'PT0S', + utbetalingsgrad: 100, + tilkommet: false, + }, + { + arbeidsforhold: { + type: Arbeidstype.ARBEIDSTAKER, + organisasjonsnummer: '333333333', + aktørId: null, + arbeidsforholdId: null, + }, + normalArbeidstid: 'PT4H', + faktiskArbeidstid: 'PT4H', + utbetalingsgrad: 0, + tilkommet: true, + }, + ], + søkersTapteArbeidstid: 100, + oppgittTilsyn: 'PT7H30M', + årsaker: [Årsaker.AVKORTET_MOT_INNTEKT], + inngangsvilkår: { + FP_VK_2: Utfall.OPPFYLT, + FP_VK_3: Utfall.OPPFYLT, + K9_VK_1: Utfall.OPPFYLT, + K9_VK_3: Utfall.OPPFYLT, + FP_VK_21: Utfall.OPPFYLT, + FP_VK_23: Utfall.OPPFYLT, + FP_VK_41: Utfall.OPPFYLT, + K9_VK_2_a: Utfall.OPPFYLT, + }, + pleiebehov: 200, + graderingMotTilsyn: { + etablertTilsyn: 0, + overseEtablertTilsynÅrsak: null, + andreSøkeresTilsyn: 0, + andreSøkeresTilsynReberegnet: false, + tilgjengeligForSøker: 100, + }, + knekkpunktTyper: [], + kildeBehandlingUUID: '630c98e1-f995-4e98-8699-8932d9a2c998', + annenPart: AnnenPart.ALENE, + nattevåk: null, + beredskap: null, + endringsstatus: 'NY', + utenlandsoppholdUtenÅrsak: false, + utenlandsopphold: { + ErEøsLand: false, + landkode: null, + årsak: 'INGEN', + }, + manueltOverstyrt: false, + søkersTapteTimer: 'PT8H', + }, + }, + inntektsgraderinger: [ + { + periode: { + fom: '2023-02-01', + tom: '2023-04-28', + }, + inntektsforhold: [ + { + type: 'AT', + arbeidsgiverIdentifikator: '111111111', + arbeidstidprosent: 0, + løpendeInntekt: 0, + bruttoInntekt: 480000, + erNytt: false, + }, + { + type: 'AT', + arbeidsgiverIdentifikator: '333333333', + arbeidstidprosent: 100, + løpendeInntekt: 600000, + bruttoInntekt: 600000, + erNytt: true, + }, + { + type: 'AT', + arbeidsgiverIdentifikator: '222222222', + arbeidstidprosent: 0, + løpendeInntekt: 0, + bruttoInntekt: 240000, + erNytt: false, + }, + ], + beregningsgrunnlag: 720000, + løpendeInntekt: 600000, + bortfaltInntekt: 120000, + reduksjonsProsent: 80, + graderingsProsent: 20, + }, + ], + arbeidsforhold: { + '111111111': { + identifikator: '111111111', + personIdentifikator: null, + navn: 'BEDRIFT 1 AS', + fødselsdato: null, + arbeidsforholdreferanser: [ + { + internArbeidsforholdId: '724b3d31-c308-4ae9-9067-fd989b1881c4', + eksternArbeidsforholdId: 'ARB001', + }, + ], + }, + '222222222': { + identifikator: '222222222', + personIdentifikator: null, + navn: 'BEDRIFT 2 AS', + fødselsdato: null, + arbeidsforholdreferanser: [ + { + internArbeidsforholdId: '4b426e33-aae0-4f04-b7a6-3fb70004b772', + eksternArbeidsforholdId: 'ARB002', + }, + ], + }, + '333333333': { + identifikator: '333333333', + personIdentifikator: null, + navn: 'BEDRIFT 3 AS', + fødselsdato: null, + arbeidsforholdreferanser: [ + { + internArbeidsforholdId: '3f56315d-1f35-4657-b859-7c64b2ecdb23', + eksternArbeidsforholdId: 'ARB003', + }, + ], + }, + }, + aksjonspunktkoder: [], + kodeverkUtenlandsoppholdÅrsak: [ + { + kode: 'BARNET_INNLAGT_I_HELSEINSTITUSJON_DEKKET_ETTER_AVTALE_MED_ET_ANNET_LAND_OM_TRYGD', + kodeverk: 'UTENLANDSOPPHOLD_ÅRSAK', + navn: 'Barnet/den pleietrengende er innlagt i helseinstitusjon dekket etter avtale med annet land om trygd (mottar ytelse som i Norge, telles ikke i 8 uker)', + }, + { + kode: 'BARNET_INNLAGT_I_HELSEINSTITUSJON_FOR_NORSK_OFFENTLIG_REGNING', + kodeverk: 'UTENLANDSOPPHOLD_ÅRSAK', + navn: 'Barnet/den pleietrengende er innlagt i helseinstitusjon for norsk offentlig regning (mottar ytelse som i Norge, telles ikke i 8 uker)', + }, + { + kode: 'INGEN', + kodeverk: 'UTENLANDSOPPHOLD_ÅRSAK', + navn: 'Ingen årsak til utenlandsoppholdet er oppgitt, perioden telles i 8 uker', + }, + ], + utsattePerioder: [], + erFagytelsetypeLivetsSluttfase: false, + løsAksjonspunktVurderDatoNyRegelUttak: undefined, + virkningsdatoUttakNyeRegler: null, + readOnly: false, + }, + }, + render: props => ( + + + + ), + play: async ({ canvasElement, step }) => { + const canvas = within(canvasElement); + + await step('skal vise gradering mot arbeidsinntekt når det gir lavest pleiepengegrad', async () => { + const tabell = within(await canvas.getByRole('table')); + const rader = await tabell.getAllByRole('row'); + const førstePeriode = await tabell.getByRole('row', { name: '5-17 01.02.2023 - 28.04.2023 200% 20 % Ny' }); + const andrePeriode = await tabell.getByRole('row', { name: '1-5 02.01.2023 - 31.01.2023 200% 100 % Ny' }); + const detaljer = rader[2]; + const inntekt = within(await tabell.getByTitle('Gradering mot inntekt')); + + await expect(rader.length, 'Skal ha fem rader i tabellen').toEqual(5); + await expect(førstePeriode, 'Skal ha en rad med første periode').toBeInTheDocument(); + await expect(andrePeriode, 'skal ha en rad med andre peridoe').toBeInTheDocument(); + await expect(detaljer, 'Detaljer skal ikke være synlige').not.toBeVisible(); + + await userEvent.click(førstePeriode); + await expect(detaljer).toBeVisible(); + + await expect(await inntekt.findByText('Beregningsgrunnlag: 720 000 kr')).toBeInTheDocument(); + await expect(await inntekt.findByText('Utbetalt lønn: 600 000 kr')).toBeInTheDocument(); + await expect(await inntekt.findByText('Tapt inntekt: 120 000 kr')).toBeInTheDocument(); + await expect(await inntekt.findByText('600 000 kr (utbetalt lønn) /')).toBeInTheDocument(); + await expect( + (await inntekt.findAllByText('720 000 kr (beregningsgrunnlag)')).length, + 'Skal ha to forekomster av beregningsgrunnlag', + ).toEqual(2); + await expect(await inntekt.findByText('= 80 % reduksjon pga. utbetalt lønn')).toBeInTheDocument(); + await expect(await inntekt.findByText('= 20 % totalt inntektstap')).toBeInTheDocument(); + }); + }, +}; diff --git a/packages/prosess-uttak/src/ui/components/uttak-detaljer/NyUttakDetaljer.tsx b/packages/prosess-uttak/src/ui/components/uttak-detaljer/NyUttakDetaljer.tsx index 82e3fc9c78..03b93ab711 100644 --- a/packages/prosess-uttak/src/ui/components/uttak-detaljer/NyUttakDetaljer.tsx +++ b/packages/prosess-uttak/src/ui/components/uttak-detaljer/NyUttakDetaljer.tsx @@ -130,13 +130,11 @@ const NyUttakDetaljer = ({ uttak, manueltOverstyrt }: UttakDetaljerProps): JSX.E
{søkerBerOmMaksimalt && getSøkerBerOmMaksimalt(søkerBerOmMaksimalt, årsaker)}
- {manueltOverstyrt && ( Uttaksgrad og/eller utbetalingsgrad er manuelt overstyrt av saksbehandler. )} - {graderingMotTilsyn && !erFagytelsetypeLivetsSluttfase && ( {shouldHighlightTilsyn && ( @@ -173,6 +172,7 @@ const NyUttakDetaljer = ({ uttak, manueltOverstyrt }: UttakDetaljerProps): JSX.E uttakDetaljer__graderingDetaljer__highlight: shouldHighlightArbeidstid, uttakDetaljer__graderingDetaljer__notHighlighted: !shouldHighlightArbeidstid, })} + title="Gradering mot arbeidstid" > {shouldHighlightArbeidstid && ( @@ -200,6 +200,7 @@ const NyUttakDetaljer = ({ uttak, manueltOverstyrt }: UttakDetaljerProps): JSX.E uttakDetaljer__graderingDetaljer__highlight: shouldHighlightInntekt, uttakDetaljer__graderingDetaljer__notHighlighted: !shouldHighlightInntekt, })} + title="Gradering mot inntekt" > {shouldHighlightInntekt && ( From 8e575b9aeeb575f986d21e7cdef364efce4f316a Mon Sep 17 00:00:00 2001 From: "Thomas H. Wiberg" Date: Thu, 9 Jan 2025 14:29:14 +0100 Subject: [PATCH 2/4] Feil Vurderingsresultat --- packages/prosess-uttak/src/types/Uttaksperiode.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/prosess-uttak/src/types/Uttaksperiode.ts b/packages/prosess-uttak/src/types/Uttaksperiode.ts index 3595baf785..71db10c8f6 100644 --- a/packages/prosess-uttak/src/types/Uttaksperiode.ts +++ b/packages/prosess-uttak/src/types/Uttaksperiode.ts @@ -7,7 +7,12 @@ import GraderingMotTilsyn from './GraderingMotTilsyn'; import Inngangsvilkår from './Inngangsvilkår'; import Period from './Period'; import Utbetalingsgrad from './Utbetalingsgrad'; -import Vurderingsresultat from '@k9-sak-web/fakta-etablert-tilsyn/src/types/Vurderingsresultat'; + +export enum Vurderingsresultat { + OPPFYLT = 'OPPFYLT', + IKKE_OPPFYLT = 'IKKE_OPPFYLT', + IKKE_VURDERT = 'IKKE_VURDERT', +} export interface Uttaksperiodeelement { utfall: Utfall; From d94795cf4fc7056e6acb05170e9686792a44c137 Mon Sep 17 00:00:00 2001 From: "Thomas H. Wiberg" Date: Thu, 9 Jan 2025 14:34:44 +0100 Subject: [PATCH 3/4] Optional arbeidsforholdreferanser --- packages/prosess-uttak/src/types/ArbeidsgiverOpplysninger.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/prosess-uttak/src/types/ArbeidsgiverOpplysninger.ts b/packages/prosess-uttak/src/types/ArbeidsgiverOpplysninger.ts index 4dd4ee88f2..08c166a012 100644 --- a/packages/prosess-uttak/src/types/ArbeidsgiverOpplysninger.ts +++ b/packages/prosess-uttak/src/types/ArbeidsgiverOpplysninger.ts @@ -4,8 +4,8 @@ export type ArbeidsgiverOpplysninger = Readonly<{ identifikator?: string; personIdentifikator?: string; arbeidsforholdreferanser?: { - internArbeidsforholdId: string; - eksternArbeidsforholdId: string; + internArbeidsforholdId?: string; + eksternArbeidsforholdId?: string; }[]; }>; From 4f2aa0c14a9f759c03f47fdede351023d2a26d61 Mon Sep 17 00:00:00 2001 From: "Thomas H. Wiberg" Date: Thu, 9 Jan 2025 14:35:57 +0100 Subject: [PATCH 4/4] lint --- packages/prosess-uttak/src/ui/Uttak.stories.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/prosess-uttak/src/ui/Uttak.stories.tsx b/packages/prosess-uttak/src/ui/Uttak.stories.tsx index 443fcc0e9d..734272a48e 100644 --- a/packages/prosess-uttak/src/ui/Uttak.stories.tsx +++ b/packages/prosess-uttak/src/ui/Uttak.stories.tsx @@ -3,7 +3,7 @@ import { AnnenPart, Arbeidstype, Utfall, Årsaker } from '../constants'; import { Endringsstatus } from '../types'; import UttakContainer from './UttakContainer'; import FeatureTogglesContext from '@k9-sak-web/gui/utils/featureToggles/FeatureTogglesContext.js'; -import { userEvent, within, expect, fireEvent, fn, logRoles } from '@storybook/test'; +import { userEvent, within, expect } from '@storybook/test'; const meta: Meta = { title: 'prosess/prosess-uttak',