Skip to content

Commit

Permalink
Fjernet shape OBJECT fra kodeverk dtoene. Endret navn. (#354)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrsladek committed Mar 15, 2022
1 parent a4f4f87 commit a5f451c
Show file tree
Hide file tree
Showing 8 changed files with 100 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AktivitetStatus> aktivitetstatusListe,
@NotNull @Valid Hjemmel hjemmel,
public record BeregningsgrunnlagDto(@NotNull @Valid @Size(min = 1) List<AktivitetStatusDto> 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<BeregningsgrunnlagPeriodeDto> beregningsgrunnlagperioder,
@Valid boolean erBesteberegnet) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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Årsak> periodeårsaker,
@Valid List<PeriodeÅrsakDto> periodeårsaker,
@Valid LocalDate beregningsgrunnlagperiodeFom,
@Valid LocalDate beregningsgrunnlagperiodeTom,
@Valid @Size(min = 1) List<BeregningsgrunnlagAndelDto> beregningsgrunnlagandeler) {
Expand Down
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
Original file line number Diff line number Diff line change
@@ -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);
}
}

0 comments on commit a5f451c

Please sign in to comment.