@@ -37,6 +37,9 @@ import no.nav.dagpenger.inntekt.db.StoredInntektMedMetadata
37
37
import no.nav.dagpenger.inntekt.db.StoredInntektPeriode
38
38
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.Aktoer
39
39
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.AktoerType
40
+ import no.nav.dagpenger.inntekt.inntektskomponenten.v1.ArbeidsInntektInformasjon
41
+ import no.nav.dagpenger.inntekt.inntektskomponenten.v1.ArbeidsInntektMaaned
42
+ import no.nav.dagpenger.inntekt.inntektskomponenten.v1.Inntekt
40
43
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektBeskrivelse
41
44
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektType
42
45
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektkomponentRequest
@@ -588,4 +591,154 @@ internal class UklassifisertInntektRouteTest {
588
591
storeInntektCommandSlot.captured.manueltRedigert!! .redigertAv shouldBe TEST_OAUTH_USER
589
592
storeInntektCommandSlot.captured.manueltRedigert!! .begrunnelse shouldBe " Dette er en begrunnelse."
590
593
}
594
+
595
+ @Test
596
+ fun `Get request for uncached uklassifisert inntekt skal returnere 200 OK og inntekt` () {
597
+ val enhetsregisterClientMock = mockk<EnhetsregisterClient >(relaxed = true )
598
+ val inntektKomponentClientMock = mockk<InntektskomponentClient >(relaxed = true )
599
+ return withMockAuthServerAndTestApplication(
600
+ mockInntektApi(
601
+ inntektskomponentClient = inntektKomponentClientMock,
602
+ inntektStore = inntektStoreMock,
603
+ personOppslag = personOppslagMock,
604
+ enhetsregisterClient = enhetsregisterClientMock,
605
+ ),
606
+ ) {
607
+ val body =
608
+ UklassifisertInntektRouteTest ::class .java
609
+ .getResource(" /test-data/example-inntekt-med-inntektId-payload.json" )
610
+ ?.readText()
611
+ every {
612
+ inntektStoreMock.getStoredInntektMedMetadata(inntektId)
613
+ } returns
614
+ StoredInntektMedMetadata (
615
+ inntektId,
616
+ inntekt = jacksonObjectMapper.readValue(body!! ),
617
+ manueltRedigert = false ,
618
+ timestamp = LocalDateTime .now(),
619
+ fødselsnummer = fødselsnummer,
620
+ beregningsdato = now(),
621
+ storedInntektPeriode =
622
+ StoredInntektPeriode (
623
+ fraOgMed = YearMonth .of(2023 , 1 ),
624
+ tilOgMed = YearMonth .of(2025 , 5 ),
625
+ ),
626
+ )
627
+
628
+ val inntektKomponentResponseFraAInntekt =
629
+ InntektkomponentResponse (
630
+ arbeidsInntektMaaned =
631
+ listOf (
632
+ ArbeidsInntektMaaned (
633
+ aarMaaned = YearMonth .parse(" 2019-01" ),
634
+ avvikListe = null ,
635
+ arbeidsInntektInformasjon =
636
+ ArbeidsInntektInformasjon (
637
+ inntektListe =
638
+ listOf (
639
+ Inntekt (
640
+ inntektType = InntektType .NAERINGSINNTEKT ,
641
+ beloep = BigDecimal (250000 ),
642
+ fordel = " kontantytelse" ,
643
+ inntektskilde = " A-ordningen" ,
644
+ inntektsperiodetype = " Maaned" ,
645
+ inntektsstatus = " LoependeInnrapportert" ,
646
+ leveringstidspunkt = YearMonth .parse(" 2019-02" ),
647
+ utbetaltIMaaned = YearMonth .parse(" 2018-03" ),
648
+ opplysningspliktig =
649
+ Aktoer (
650
+ aktoerType = AktoerType .ORGANISASJON ,
651
+ identifikator = " 1111111" ,
652
+ ),
653
+ virksomhet =
654
+ Aktoer (
655
+ aktoerType = AktoerType .ORGANISASJON ,
656
+ identifikator = " 1111111" ,
657
+ ),
658
+ inntektsmottaker =
659
+ Aktoer (
660
+ aktoerType = AktoerType .NATURLIG_IDENT ,
661
+ identifikator = " 99999999999" ,
662
+ ),
663
+ inngaarIGrunnlagForTrekk = true ,
664
+ utloeserArbeidsgiveravgift = true ,
665
+ informasjonsstatus = " InngaarAlltid" ,
666
+ beskrivelse = InntektBeskrivelse .LOTT_KUN_TRYGDEAVGIFT ,
667
+ ),
668
+ ),
669
+ ),
670
+ ),
671
+ ArbeidsInntektMaaned (
672
+ aarMaaned = YearMonth .parse(" 2018-03" ),
673
+ avvikListe = null ,
674
+ arbeidsInntektInformasjon =
675
+ ArbeidsInntektInformasjon (
676
+ inntektListe =
677
+ listOf (
678
+ Inntekt (
679
+ inntektType = InntektType .NAERINGSINNTEKT ,
680
+ beloep = BigDecimal (250000 ),
681
+ fordel = " kontantytelse" ,
682
+ inntektskilde = " A-ordningen" ,
683
+ inntektsperiodetype = " Maaned" ,
684
+ inntektsstatus = " LoependeInnrapportert" ,
685
+ leveringstidspunkt = YearMonth .parse(" 2019-02" ),
686
+ utbetaltIMaaned = YearMonth .parse(" 2018-03" ),
687
+ opplysningspliktig =
688
+ Aktoer (
689
+ aktoerType = AktoerType .ORGANISASJON ,
690
+ identifikator = " 1111111" ,
691
+ ),
692
+ virksomhet =
693
+ Aktoer (
694
+ aktoerType = AktoerType .ORGANISASJON ,
695
+ identifikator = " 1111111" ,
696
+ ),
697
+ inntektsmottaker =
698
+ Aktoer (
699
+ aktoerType = AktoerType .NATURLIG_IDENT ,
700
+ identifikator = " 99999999999" ,
701
+ ),
702
+ inngaarIGrunnlagForTrekk = true ,
703
+ utloeserArbeidsgiveravgift = true ,
704
+ informasjonsstatus = " InngaarAlltid" ,
705
+ beskrivelse = InntektBeskrivelse .LOTT_KUN_TRYGDEAVGIFT ,
706
+ ),
707
+ ),
708
+ ),
709
+ ),
710
+ ),
711
+ ident =
712
+ Aktoer (
713
+ aktoerType = AktoerType .NATURLIG_IDENT ,
714
+ identifikator = " -1" ,
715
+ ),
716
+ )
717
+ coEvery {
718
+ inntektKomponentClientMock.getInntekt(
719
+ request = any(),
720
+ callId = any(),
721
+ )
722
+ } returns inntektKomponentResponseFraAInntekt
723
+
724
+ val bodyFraEr =
725
+ FullVirksomhetsInformasjon ::class .java
726
+ .getResource(" /test-data/example-virksomhet-info.json" )!!
727
+ .readText()
728
+ coEvery { enhetsregisterClientMock.hentEnhet(" 1111111" ) } returns bodyFraEr
729
+
730
+ val response =
731
+ autentisert(
732
+ httpMethod = HttpMethod .Get ,
733
+ endepunkt = " $uklassifisertInntekt /uncached/${inntektId.id} " ,
734
+ )
735
+
736
+ assertEquals(OK , response.status)
737
+
738
+ val storedInntekt =
739
+ jacksonObjectMapper.readValue<InntekterDto >(response.bodyAsText())
740
+ storedInntekt.virksomheter shouldHaveSize 1
741
+ storedInntekt.virksomheter[0 ].inntekter?.shouldHaveSize((2 ))
742
+ }
743
+ }
591
744
}
0 commit comments