Skip to content

Commit

Permalink
Endringe etter qa
Browse files Browse the repository at this point in the history
  • Loading branch information
pekern committed Oct 13, 2023
1 parent f1f18b5 commit 5fd7070
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,25 @@
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

public record TilkjentYtelseDagytelseDto(@Valid @NotNull List<TilkjentYtelsePeriodeDto> perioder) {
public record TilkjentYtelseDagytelseDto(List<@Valid @NotNull TilkjentYtelsePeriodeDto> perioder) {

public record TilkjentYtelsePeriodeDto(@NotNull LocalDate fom,
@NotNull LocalDate tom,
Integer dagsats,
@Valid List<TilkjentYtelseAndelDto> andeler) {}

public record TilkjentYtelseAndelDto(String arbeidsgiverReferanse,
@Min(0) @Max(Integer.MAX_VALUE) Integer refusjon,
@Min(0) @Max(Integer.MAX_VALUE) Integer tilSoker,
@NotNull @Valid Aktivitetstatus aktivitetstatus,
String arbeidsforholdId,
@Valid @Digits(integer = 8, fraction = 2) @DecimalMin("0.00") @DecimalMax("10000000.00") BigDecimal stillingsprosent) {}
@NotNull LocalDate tom,
@Min(0) @Max(Integer.MAX_VALUE) Integer dagsats,
List<@Valid @NotNull TilkjentYtelseAndelDto> andeler) {}

public record TilkjentYtelseAndelDto(@Pattern(regexp = "\\d{9}|\\d{13}") String arbeidsgiverReferanse,
@Min(0) @Max(Integer.MAX_VALUE) Integer refusjon,
@Min(0) @Max(Integer.MAX_VALUE) Integer tilSoker,
@NotNull @Valid Aktivitetstatus aktivitetstatus,
@Pattern(regexp = "^[\\p{Graph}\\p{Space}\\p{Sc}\\p{L}\\p{M}\\p{N}]+$") String arbeidsforholdId,
@Valid @Digits(integer = 8, fraction = 2) @DecimalMin("0.00") @DecimalMax("10000000.00") BigDecimal stillingsprosent) {}

public enum Aktivitetstatus {
ARBEIDSAVKLARINGSPENGER,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
package no.nav.foreldrepenger.kontrakter.fpsak.tilkjentytelse;

public record TilkjentYtelseEngangsstønadDto(Long beregnetTilkjentYtelse) {}
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;

public record TilkjentYtelseEngangsstønadDto(@Min(0) @Max(Long.MAX_VALUE) Long beregnetTilkjentYtelse) {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package no.nav.foreldrepenger.kontrakter.fpsak.tilkjentytelse;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectReader;
import com.fasterxml.jackson.databind.ObjectWriter;
import no.nav.foreldrepenger.kontrakter.formidling.v1.TestJsonMapper;
import org.junit.jupiter.api.Test;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Collections;

import static org.assertj.core.api.Assertions.assertThat;

class TilkjentYtelseDagytelseDtoTest {

private static final ObjectWriter WRITER = TestJsonMapper.getMapper().writerWithDefaultPrettyPrinter();
private static final ObjectReader READER = TestJsonMapper.getMapper().reader();

@Test
void testRoundtrip() throws JsonProcessingException {
var andelRequest = new TilkjentYtelseDagytelseDto.TilkjentYtelseAndelDto("999999999",
200000, 100000, TilkjentYtelseDagytelseDto.Aktivitetstatus.ARBEIDSTAKER,
"arb001", BigDecimal.valueOf(100));
var periodeRequest = new TilkjentYtelseDagytelseDto.TilkjentYtelsePeriodeDto(LocalDate.now(), LocalDate.now().plusDays(10), 0,
Collections.singletonList(
andelRequest));
var grunnlagRequest = new TilkjentYtelseDagytelseDto(Collections.singletonList(periodeRequest));

// Act
var json = WRITER.writeValueAsString(grunnlagRequest);

var grunnlagResponse = (TilkjentYtelseDagytelseDto) READER.forType(TilkjentYtelseDagytelseDto.class).readValue(json);

// Assert
assertThat(grunnlagResponse).isNotNull();
assertThat(grunnlagResponse.perioder()).hasSize(1);
var periodeResponse = grunnlagResponse.perioder().get(0);
assertThat(periodeResponse.fom()).isEqualTo(periodeRequest.fom());
assertThat(periodeResponse.tom()).isEqualTo(periodeRequest.tom());
assertThat(periodeResponse.dagsats()).isEqualTo(periodeRequest.dagsats());
assertThat(periodeResponse.andeler()).hasSize(1);
var andelResponse = periodeResponse.andeler().get(0);
assertThat(andelResponse.aktivitetstatus()).isEqualTo(andelRequest.aktivitetstatus());
assertThat(andelResponse.arbeidsforholdId()).isEqualTo(andelRequest.arbeidsforholdId());
assertThat(andelResponse.arbeidsgiverReferanse()).isEqualTo(andelRequest.arbeidsgiverReferanse());
assertThat(andelResponse.refusjon()).isEqualTo(andelRequest.refusjon());
assertThat(andelResponse.tilSoker()).isEqualTo(andelRequest.tilSoker());
assertThat(andelResponse.stillingsprosent()).isEqualByComparingTo(andelRequest.stillingsprosent());
}
}

0 comments on commit 5fd7070

Please sign in to comment.