From a5f451c6f59aa6e850e9f6f7d805a358c3116171 Mon Sep 17 00:00:00 2001 From: "Michal J. Sladek" Date: Tue, 15 Mar 2022 17:20:18 +0100 Subject: [PATCH] Fjernet shape OBJECT fra kodeverk dtoene. Endret navn. (#354) --- .../v2/BeregningsgrunnlagAndelDto.java | 8 +- .../v2/BeregningsgrunnlagDto.java | 8 +- .../v2/BeregningsgrunnlagPeriodeDto.java | 4 +- ...tetStatus.java => AktivitetStatusDto.java} | 5 +- .../{Hjemmel.java => HjemmelDto.java} | 6 +- ...tType.java => OpptjeningAktivitetDto.java} | 7 +- .../v2/kodeverk/Periode\303\205rsakDto.java" | 5 +- .../v2/BeregningsgrunnlagDtoTest.java | 86 +++++++++++++++++++ 8 files changed, 100 insertions(+), 29 deletions(-) rename vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/{AktivitetStatus.java => AktivitetStatusDto.java} (75%) rename vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/{Hjemmel.java => HjemmelDto.java} (62%) rename vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/{OpptjeningAktivitetType.java => OpptjeningAktivitetDto.java} (71%) rename "vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Periode\303\205rsak.java" => "vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Periode\303\205rsakDto.java" (72%) create mode 100644 vl-kontrakt-fp-formidling/src/test/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagDtoTest.java diff --git a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagAndelDto.java b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagAndelDto.java index 1ada5468..1d7f3ee8 100644 --- a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagAndelDto.java +++ b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagAndelDto.java @@ -9,16 +9,16 @@ import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; -import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.AktivitetStatus; -import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.OpptjeningAktivitetType; +import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.AktivitetStatusDto; +import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.OpptjeningAktivitetDto; public record BeregningsgrunnlagAndelDto( @Valid @Digits(integer = 8, fraction = 2) @DecimalMin("0.00") @DecimalMax("10000.00") Long dagsats, - @Valid @NotNull AktivitetStatus aktivitetStatus, + @Valid @NotNull AktivitetStatusDto aktivitetStatus, @Valid @Digits(integer = 8, fraction = 2) @DecimalMin("0.00") @DecimalMax("10000000.00") BigDecimal bruttoPrÅr, @Valid @Digits(integer = 8, fraction = 2) @DecimalMin("0.00") @DecimalMax("10000000.00") BigDecimal avkortetPrÅr, @Valid Boolean erNyIArbeidslivet, - @Valid @NotNull OpptjeningAktivitetType arbeidsforholdType, + @Valid @NotNull OpptjeningAktivitetDto arbeidsforholdType, @Valid LocalDate beregningsperiodeFom, @Valid LocalDate beregningsperiodeTom, @Valid BgAndelArbeidsforholdDto arbeidsforhold, diff --git a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagDto.java b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagDto.java index 0c2076bc..f960be11 100644 --- a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagDto.java +++ b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagDto.java @@ -10,12 +10,12 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; -import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.AktivitetStatus; -import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.Hjemmel; +import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.AktivitetStatusDto; +import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.HjemmelDto; -public record BeregningsgrunnlagDto(@NotNull @Valid @Size(min = 1) List aktivitetstatusListe, - @NotNull @Valid Hjemmel hjemmel, +public record BeregningsgrunnlagDto(@NotNull @Valid @Size(min = 1) List aktivitetstatusListe, + @NotNull @Valid HjemmelDto hjemmel, @Valid @Digits(integer = 8, fraction = 2) @DecimalMin("0.00") @DecimalMax("10000000.00") BigDecimal grunnbeløp, @Valid @NotNull @Size(min = 1) List beregningsgrunnlagperioder, @Valid boolean erBesteberegnet) { diff --git a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagPeriodeDto.java b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagPeriodeDto.java index 7f76b964..2d6b87bf 100644 --- a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagPeriodeDto.java +++ b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagPeriodeDto.java @@ -10,13 +10,13 @@ import javax.validation.constraints.Digits; import javax.validation.constraints.Size; -import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.PeriodeÅrsak; +import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.PeriodeÅrsakDto; public record BeregningsgrunnlagPeriodeDto( @Valid @Digits(integer = 8, fraction = 2) @DecimalMin("0.00") @DecimalMax("10000.00") Long dagsats, @Valid @Digits(integer = 8, fraction = 2) @DecimalMin("0.00") @DecimalMax("10000000.00") BigDecimal bruttoPrÅr, @Valid @Digits(integer = 8, fraction = 2) @DecimalMin("0.00") @DecimalMax("10000000.00") BigDecimal avkortetPrÅr, - @Valid List periodeårsaker, + @Valid List periodeårsaker, @Valid LocalDate beregningsgrunnlagperiodeFom, @Valid LocalDate beregningsgrunnlagperiodeTom, @Valid @Size(min = 1) List beregningsgrunnlagandeler) { diff --git a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/AktivitetStatus.java b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/AktivitetStatusDto.java similarity index 75% rename from vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/AktivitetStatus.java rename to vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/AktivitetStatusDto.java index 32618910..4fe9880b 100644 --- a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/AktivitetStatus.java +++ b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/AktivitetStatusDto.java @@ -1,9 +1,6 @@ package no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk; -import com.fasterxml.jackson.annotation.JsonFormat; - -@JsonFormat(shape = JsonFormat.Shape.OBJECT) -public enum AktivitetStatus { +public enum AktivitetStatusDto { ARBEIDSAVKLARINGSPENGER, ARBEIDSTAKER, DAGPENGER, diff --git a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Hjemmel.java b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/HjemmelDto.java similarity index 62% rename from vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Hjemmel.java rename to vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/HjemmelDto.java index b67f1712..5b962036 100644 --- a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Hjemmel.java +++ b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/HjemmelDto.java @@ -1,10 +1,6 @@ package no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonFormat.Shape; - -@JsonFormat(shape = Shape.OBJECT) -public enum Hjemmel { +public enum HjemmelDto { F_14_7, F_14_7_8_30, F_14_7_8_28_8_30, diff --git a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/OpptjeningAktivitetType.java b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/OpptjeningAktivitetDto.java similarity index 71% rename from vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/OpptjeningAktivitetType.java rename to vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/OpptjeningAktivitetDto.java index a83ed5ea..7e12ca6a 100644 --- a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/OpptjeningAktivitetType.java +++ b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/OpptjeningAktivitetDto.java @@ -1,11 +1,6 @@ package no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonFormat.Shape; - -@JsonFormat(shape = Shape.OBJECT) -public enum OpptjeningAktivitetType { - +public enum OpptjeningAktivitetDto { ARBEIDSAVKLARING, ARBEID, DAGPENGER, diff --git "a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Periode\303\205rsak.java" "b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Periode\303\205rsakDto.java" similarity index 72% rename from "vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Periode\303\205rsak.java" rename to "vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Periode\303\205rsakDto.java" index ff02045f..1933bc5c 100644 --- "a/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Periode\303\205rsak.java" +++ "b/vl-kontrakt-fp-formidling/src/main/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/kodeverk/Periode\303\205rsakDto.java" @@ -1,9 +1,6 @@ package no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk; -import com.fasterxml.jackson.annotation.JsonFormat; - -@JsonFormat(shape = JsonFormat.Shape.OBJECT) -public enum PeriodeÅrsak { +public enum PeriodeÅrsakDto { NATURALYTELSE_BORTFALT, ARBEIDSFORHOLD_AVSLUTTET, diff --git a/vl-kontrakt-fp-formidling/src/test/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagDtoTest.java b/vl-kontrakt-fp-formidling/src/test/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagDtoTest.java new file mode 100644 index 00000000..0d5a14da --- /dev/null +++ b/vl-kontrakt-fp-formidling/src/test/java/no/nav/foreldrepenger/kontrakter/fpsak/beregningsgrunnlag/v2/BeregningsgrunnlagDtoTest.java @@ -0,0 +1,86 @@ +package no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.*; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.List; + +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectReader; +import com.fasterxml.jackson.databind.ObjectWriter; + +import no.nav.foreldrepenger.kontrakter.formidling.kodeverk.YtelseType; +import no.nav.foreldrepenger.kontrakter.formidling.v1.DokumentbestillingV2Dto; +import no.nav.foreldrepenger.kontrakter.formidling.v1.TestJsonMapper; +import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.AktivitetStatusDto; +import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.HjemmelDto; +import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.OpptjeningAktivitetDto; +import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.kodeverk.PeriodeÅrsakDto; + +class BeregningsgrunnlagDtoTest { + + private static final ObjectWriter WRITER = TestJsonMapper.getMapper().writerWithDefaultPrettyPrinter(); + private static final ObjectReader READER = TestJsonMapper.getMapper().reader(); + + @Test + void testRoundtrip() throws JsonProcessingException { + + var perÅr = BigDecimal.valueOf(600000L); + var dagsats = 3000L; + var grunnbeløp = BigDecimal.valueOf(69000); + var testIdent = "testIdent"; + var testRef = "testRef"; + var request = new BeregningsgrunnlagDto( + List.of(AktivitetStatusDto.ARBEIDSTAKER, AktivitetStatusDto.DAGPENGER), + HjemmelDto.F_14_7, + grunnbeløp, + List.of(new BeregningsgrunnlagPeriodeDto( + dagsats, + perÅr, + perÅr, + List.of(PeriodeÅrsakDto.ARBEIDSFORHOLD_AVSLUTTET), + LocalDate.now(), + LocalDate.now(), + List.of(new BeregningsgrunnlagAndelDto( + dagsats, + AktivitetStatusDto.ARBEIDSTAKER, + perÅr, + perÅr, + false, + OpptjeningAktivitetDto.ARBEID, + LocalDate.now(), + LocalDate.now(), + new BgAndelArbeidsforholdDto(testIdent, testRef, BigDecimal.ZERO, BigDecimal.ZERO), + false)) + )), + false); + + // Act + var json = WRITER.writeValueAsString(request); + + var roundTripped = (BeregningsgrunnlagDto) READER.forType(BeregningsgrunnlagDto.class).readValue(json); + + // Assert + assertThat(roundTripped).isNotNull(); + assertThat(roundTripped.aktivitetstatusListe()).hasSize(2); + assertThat(roundTripped.aktivitetstatusListe()).containsExactly(AktivitetStatusDto.ARBEIDSTAKER, AktivitetStatusDto.DAGPENGER); + assertThat(roundTripped.grunnbeløp()).isEqualTo(grunnbeløp); + assertThat(roundTripped.beregningsgrunnlagperioder()).hasSize(1); + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).avkortetPrÅr()).isEqualTo(perÅr); + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).bruttoPrÅr()).isEqualTo(perÅr); + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).dagsats()).isEqualTo(dagsats); + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).periodeårsaker()).containsExactly(PeriodeÅrsakDto.ARBEIDSFORHOLD_AVSLUTTET); + + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).beregningsgrunnlagandeler()).hasSize(1); + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).beregningsgrunnlagandeler().get(0).avkortetPrÅr()).isEqualTo(perÅr); + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).beregningsgrunnlagandeler().get(0).bruttoPrÅr()).isEqualTo(perÅr); + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).beregningsgrunnlagandeler().get(0).aktivitetStatus()).isEqualTo(AktivitetStatusDto.ARBEIDSTAKER); + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).beregningsgrunnlagandeler().get(0).arbeidsforholdType()).isEqualTo(OpptjeningAktivitetDto.ARBEID); + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).beregningsgrunnlagandeler().get(0).arbeidsforhold().arbeidsgiverIdent()).isEqualTo(testIdent); + assertThat(roundTripped.beregningsgrunnlagperioder().get(0).beregningsgrunnlagandeler().get(0).arbeidsforhold().arbeidsforholdRef()).isEqualTo(testRef); + } +} \ No newline at end of file