Skip to content

Commit

Permalink
SVP: Fjerner gammel tilrettelegging felt i søknaden
Browse files Browse the repository at this point in the history
  • Loading branch information
espenwaaga committed Oct 22, 2024
1 parent e5199ae commit 74c3ce5
Show file tree
Hide file tree
Showing 8 changed files with 14 additions and 200 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ void foreldrepengesoknadAnnenInntektValidering() throws Exception {
@Test
void svangerskapspengerValidering() throws Exception {
var svpSøknad = mapper.readValue(bytesFra("json/svangerskapspengesøknad.json"), SvangerskapspengesøknadDto.class);
var tilrettelegging = svpSøknad.tilrettelegging().get(0);
var tilrettelegging = svpSøknad.tilretteleggingsbehov().get(0);
var virksomhet = (VirksomhetDto) tilrettelegging.arbeidsforhold();
var result = mvc.perform(post(InnsendingController.INNSENDING_CONTROLLER_PATH + "/svangerskapspenger")
.contentType(MediaType.APPLICATION_JSON)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"tilrettelegging":
[
{
"type": "ingen",
"type": "inASDATODOODDODODOODODgen",
"slutteArbeidFom": "2024-08-21",
"arbeidsforhold":
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,13 @@
import jakarta.validation.constraints.Size;
import no.nav.foreldrepenger.common.domain.BrukerRolle;
import no.nav.foreldrepenger.common.oppslag.dkif.Målform;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.VedleggDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.dto.validering.VedlegglistestørrelseConstraint;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.AnnenInntektDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.FrilansDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.NæringDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.SøknadDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.UtenlandsoppholdsperiodeDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilrettelegging.TilretteleggingDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.VedleggDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilretteleggingbehov.TilretteleggingbehovDto;

public record SvangerskapspengesøknadDto(LocalDate mottattdato,
Expand All @@ -27,14 +26,12 @@ public record SvangerskapspengesøknadDto(LocalDate mottattdato,
@Valid NæringDto egenNæring,
@Valid @Size(max = 40) List<AnnenInntektDto.@NotNull @Valid Utlandet> andreInntekterSiste10Mnd,
@Valid @Size(max = 40) List<@Valid @NotNull UtenlandsoppholdsperiodeDto> utenlandsopphold,
@Valid @Size(max = 100) List<@Valid @NotNull TilretteleggingDto> tilrettelegging,
@Valid @Size(max = 100) List<@Valid @NotNull TilretteleggingbehovDto> tilretteleggingsbehov,
@Valid @Size(min = 1, max = 20) List<@Valid @NotNull TilretteleggingbehovDto> tilretteleggingsbehov,
@Valid @Size(max = 100) List<@Valid @NotNull AvtaltFerieDto> avtaltFerie,
@Valid @VedlegglistestørrelseConstraint @Size(max = 100) List<@Valid @NotNull VedleggDto> vedlegg) implements SøknadDto {

public SvangerskapspengesøknadDto {
utenlandsopphold = Optional.ofNullable(utenlandsopphold).orElse(List.of());
tilrettelegging = Optional.ofNullable(tilrettelegging).orElse(List.of());
tilretteleggingsbehov = Optional.ofNullable(tilretteleggingsbehov).orElse(List.of());
andreInntekterSiste10Mnd = Optional.ofNullable(andreInntekterSiste10Mnd).orElse(List.of());
vedlegg = Optional.ofNullable(vedlegg).orElse(List.of());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,14 @@
import no.nav.foreldrepenger.common.domain.BrukerRolle;
import no.nav.foreldrepenger.common.domain.Søker;
import no.nav.foreldrepenger.common.domain.Søknad;
import no.nav.foreldrepenger.common.domain.felles.ProsentAndel;
import no.nav.foreldrepenger.common.domain.felles.opptjening.Opptjening;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.AvtaltFerie;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.Svangerskapspenger;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.DelvisTilrettelegging;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.HelTilrettelegging;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.IngenTilrettelegging;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.Tilrettelegging;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.arbeidsforhold.Arbeidsforhold;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.arbeidsforhold.Frilanser;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.arbeidsforhold.PrivatArbeidsgiver;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.arbeidsforhold.SelvstendigNæringsdrivende;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.arbeidsforhold.Virksomhet;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.arbeidsforhold.Arbeidsforhold;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.arbeidsforhold.Frilanser;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.arbeidsforhold.PrivatArbeidsgiver;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.arbeidsforhold.SelvstendigNæringsdrivende;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.arbeidsforhold.Virksomhet;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilretteleggingsbehov.Tilretteleggingbehov;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.mapper.DokumentasjonReferanseMapper;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.AnnenInntektDto;
Expand All @@ -36,10 +31,6 @@
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.arbeidsforhold.PrivatArbeidsgiverDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.arbeidsforhold.SelvstendigNæringsdrivendeDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.arbeidsforhold.VirksomhetDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilrettelegging.DelvisTilretteleggingDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilrettelegging.HelTilretteleggingDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilrettelegging.IngenTilretteleggingDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilrettelegging.TilretteleggingDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilretteleggingbehov.TilretteleggingbehovDto;


Expand Down Expand Up @@ -69,7 +60,6 @@ public static Svangerskapspenger tilYtelse(SvangerskapspengesøknadDto s, List<V
s.barn().fødselsdato(),
tilOppholdIUtlandet(s.utenlandsopphold()),
tilOpptjening(s.egenNæring(), s.frilans(), s.andreInntekterSiste10Mnd(), vedlegg),
tilTilrettelegging(s, vedlegg),
tilTilretteleggingBehov(s, vedlegg),
tilFerieperioder(s)
);
Expand Down Expand Up @@ -128,55 +118,6 @@ private static List<AvtaltFerie> tilFerieperioder(SvangerskapspengesøknadDto s)
}).toList();
}

@Deprecated
private static List<Tilrettelegging> tilTilrettelegging(SvangerskapspengesøknadDto s, List<VedleggDto> vedlegg) {
return safeStream(s.tilrettelegging())
.map(tilrettelegging -> tilTilretteleggings(tilrettelegging, vedlegg))
.toList();
}

private static Tilrettelegging tilTilretteleggings(TilretteleggingDto tilrettelegging, List<VedleggDto> vedlegg) {
if (tilrettelegging instanceof HelTilretteleggingDto hel) {
return tilHelTilrettelegging(hel, vedlegg);
}
if (tilrettelegging instanceof DelvisTilretteleggingDto del) {
return tilDelvisTilrettelegging(del, vedlegg);
}
if (tilrettelegging instanceof IngenTilretteleggingDto ingen) {
return tilIngenTilrettelegging(ingen, vedlegg);
}
throw new IllegalStateException("Utviklerfeil: Tilrettelegging kan bare være hel, delvis eller ingen, men er " + tilrettelegging);
}

private static IngenTilrettelegging tilIngenTilrettelegging(IngenTilretteleggingDto tilrettelegging, List<VedleggDto> vedlegg) {
return new IngenTilrettelegging(
tilArbeidsforhold(tilrettelegging.arbeidsforhold()),
tilrettelegging.behovForTilretteleggingFom(),
tilrettelegging.slutteArbeidFom(),
tilVedleggsreferanse(DokumentasjonReferanseMapper.dokumentasjonSomDokumentererTilrettelegggingAv(vedlegg, tilrettelegging.arbeidsforhold()))
);
}

private static DelvisTilrettelegging tilDelvisTilrettelegging(DelvisTilretteleggingDto tilrettelegging, List<VedleggDto> vedlegg) {
return new DelvisTilrettelegging(
tilArbeidsforhold(tilrettelegging.arbeidsforhold()),
tilrettelegging.behovForTilretteleggingFom(),
tilrettelegging.tilrettelagtArbeidFom(),
ProsentAndel.valueOf(tilrettelegging.stillingsprosent()),
tilVedleggsreferanse(DokumentasjonReferanseMapper.dokumentasjonSomDokumentererTilrettelegggingAv(vedlegg, tilrettelegging.arbeidsforhold()))
);
}

private static HelTilrettelegging tilHelTilrettelegging(HelTilretteleggingDto tilrettelegging, List<VedleggDto> vedlegg) {
return new HelTilrettelegging(
tilArbeidsforhold(tilrettelegging.arbeidsforhold()),
tilrettelegging.behovForTilretteleggingFom(),
tilrettelegging.tilrettelagtArbeidFom(),
tilVedleggsreferanse(DokumentasjonReferanseMapper.dokumentasjonSomDokumentererTilrettelegggingAv(vedlegg, tilrettelegging.arbeidsforhold()))
);
}


private static Arbeidsforhold tilArbeidsforhold(ArbeidsforholdDto arbeidsforhold) {
if (arbeidsforhold instanceof VirksomhetDto virksomhet) {
return tilVirksomhet(virksomhet);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
import static no.nav.foreldrepenger.common.domain.foreldrepenger.fordeling.StønadskontoType.FELLESPERIODE;
import static no.nav.foreldrepenger.common.domain.foreldrepenger.fordeling.StønadskontoType.FORELDREPENGER_FØR_FØDSEL;
import static no.nav.foreldrepenger.common.domain.foreldrepenger.fordeling.StønadskontoType.MØDREKVOTE;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.TilretteleggingBuilder.delvis;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.TilretteleggingBuilder.hel;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.TilretteleggingBuilder.ingen;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.UttakplanPeriodeBuilder.gradert;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.UttakplanPeriodeBuilder.overføring;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.UttakplanPeriodeBuilder.uttak;
Expand Down Expand Up @@ -159,24 +156,6 @@ void fpGraderingFrilansTermingRountripTest() throws IOException {
test(søknad);
}

@Test
void svangerskapspengerRountripTest() throws IOException {
var tilrettelegginger = List.of(
hel(NOW.minusMonths(1), NOW.minusMonths(1), ArbeidsforholdMaler.selvstendigNæringsdrivende()).build(),
delvis(NOW, NOW, ArbeidsforholdMaler.privatArbeidsgiver(DUMMY_FNR), 55.0).build(),
ingen(NOW.plusWeeks(1), NOW.plusWeeks(1), ArbeidsforholdMaler.virksomhet(Orgnummer.MAGIC_ORG)).build()
);
var søknad = new SvangerskapspengerBuilder(null)
.medTilrettelegging(tilrettelegginger)
.medUtenlandsopphold(UtenlandsoppholdMaler.oppholdIUtlandetForrige12mnd())
.medSelvstendigNæringsdrivendeInformasjon(OpptjeningMaler.egenNaeringOpptjening(Orgnummer.MAGIC_ORG.value()))
.medBarn(BarnBuilder.termin(2, LocalDate.now().plusWeeks(2)).build())
.build();

assertThat(søknad).isInstanceOf(SvangerskapspengesøknadDto.class);
test(søknad);
}

@Test
void svangerskapspengerBehovRountripTest() throws IOException {
var tilretteleggingbehov = List.of(
Expand Down
Loading

0 comments on commit 74c3ce5

Please sign in to comment.