@@ -61,7 +61,7 @@ void skal_kopiere_iay_grunnlag() {
61
61
var iayt = new InntektArbeidYtelseTjeneste (iayr );
62
62
iayt .kopierGrunnlagFraEksisterendeBehandling (null , null , null , new KoblingReferanse (UUID .randomUUID ()),
63
63
new KoblingReferanse (UUID .randomUUID ()),
64
- EnumSet .of (Dataset .OPPGITT_OPPTJENING , Dataset .INNTEKTSMELDING , Dataset .REGISTER , Dataset .OVERSTYRT ));
64
+ EnumSet .of (Dataset .OPPGITT_OPPTJENING , Dataset .INNTEKTSMELDING , Dataset .REGISTER , Dataset .OVERSTYRT ), false );
65
65
66
66
// Assert
67
67
ArgumentCaptor <InntektArbeidYtelseGrunnlagBuilder > iaygBuilderCaptor = ArgumentCaptor .forClass (InntektArbeidYtelseGrunnlagBuilder .class );
@@ -77,6 +77,47 @@ void skal_kopiere_iay_grunnlag() {
77
77
assertThat (sisteIms .getInnsendingstidspunkt ()).isEqualTo (ny .getInnsendingstidspunkt ());
78
78
}
79
79
80
+ @ Test
81
+ void skal_kopiere_iay_grunnlag_og_beholde_opprinnelige_inntektsmeldinger () {
82
+
83
+ // Arrange
84
+ LocalDateTime innsendingstidspunkt = LocalDateTime .now ().minusDays (10 );
85
+ var nå = nyInntektsmelding (innsendingstidspunkt , "1" );
86
+ var ny = nyInntektsmelding (innsendingstidspunkt .plusDays (1 ), "2" );
87
+ var gammel = nyInntektsmelding (innsendingstidspunkt .minusDays (1 ), "3" );
88
+
89
+ var iaygBuilder = InntektArbeidYtelseGrunnlagBuilder .nytt ();
90
+ iaygBuilder .setInntektsmeldinger (new InntektsmeldingAggregat (List .of (gammel , nå )));
91
+
92
+ var iayr = Mockito .spy (new InntektArbeidYtelseRepository (Mockito .mock (EntityManager .class )));
93
+ Mockito .doNothing ().when (iayr ).lagre (any (KoblingReferanse .class ), any (InntektArbeidYtelseGrunnlagBuilder .class ));
94
+
95
+ Mockito .doAnswer (i -> Optional .of (iaygBuilder .build ())).when (iayr ).hentInntektArbeidYtelseGrunnlagForBehandling (any ());
96
+ Mockito .doReturn (Map .of (gammel , nyArbeidsforholdInformasjon (), ny , nyArbeidsforholdInformasjon ()))
97
+ .when (iayr )
98
+ .hentArbeidsforholdInfoInntektsmeldingerMapFor (any (), any (), any ());
99
+
100
+ // Act
101
+ var iayt = new InntektArbeidYtelseTjeneste (iayr );
102
+ iayt .kopierGrunnlagFraEksisterendeBehandling (null , null , null , new KoblingReferanse (UUID .randomUUID ()),
103
+ new KoblingReferanse (UUID .randomUUID ()),
104
+ EnumSet .of (Dataset .OPPGITT_OPPTJENING , Dataset .INNTEKTSMELDING , Dataset .REGISTER , Dataset .OVERSTYRT ), true );
105
+
106
+ // Assert
107
+ ArgumentCaptor <InntektArbeidYtelseGrunnlagBuilder > iaygBuilderCaptor = ArgumentCaptor .forClass (InntektArbeidYtelseGrunnlagBuilder .class );
108
+ Mockito .verify (iayr ).lagre (any (KoblingReferanse .class ), iaygBuilderCaptor .capture ());
109
+ var lagret = iaygBuilderCaptor .getValue ();
110
+ var nyIay = lagret .build (); // denne skal aldri ha vært kalt siden vi stubbet ut
111
+ assertThat (nyIay ).isNotNull ();
112
+ assertThat (nyIay .getInntektsmeldinger ()).isPresent ();
113
+ var sisteInntektsmeldinger = nyIay .getInntektsmeldinger ().get ().getInntektsmeldinger ();
114
+ assertThat (sisteInntektsmeldinger ).hasSize (2 );
115
+
116
+ //Assert skal kun ha siste inntektsmelding siden alle 3 hadde samme arbeidsgiver
117
+ assertThat (sisteInntektsmeldinger .stream ().map (Inntektsmelding ::getJournalpostId ).anyMatch (journalpostId -> "1" .equals (journalpostId .getVerdi ()))).isTrue ();
118
+ assertThat (sisteInntektsmeldinger .stream ().map (Inntektsmelding ::getJournalpostId ).anyMatch (journalpostId -> "3" .equals (journalpostId .getVerdi ()))).isTrue ();
119
+ }
120
+
80
121
@ Test
81
122
void skal_kopiere_inntektsmelding_og_ekstern_ref_hvis_finnes_paa_ny () {
82
123
@@ -101,7 +142,7 @@ void skal_kopiere_inntektsmelding_og_ekstern_ref_hvis_finnes_paa_ny() {
101
142
var iayt = new InntektArbeidYtelseTjeneste (iayr );
102
143
iayt .kopierGrunnlagFraEksisterendeBehandling (null , null , null , new KoblingReferanse (UUID .randomUUID ()),
103
144
new KoblingReferanse (UUID .randomUUID ()),
104
- EnumSet .of (Dataset .OPPGITT_OPPTJENING , Dataset .INNTEKTSMELDING , Dataset .REGISTER , Dataset .OVERSTYRT ));
145
+ EnumSet .of (Dataset .OPPGITT_OPPTJENING , Dataset .INNTEKTSMELDING , Dataset .REGISTER , Dataset .OVERSTYRT ), false );
105
146
106
147
// Assert
107
148
ArgumentCaptor <InntektArbeidYtelseGrunnlagBuilder > iaygBuilderCaptor = ArgumentCaptor .forClass (InntektArbeidYtelseGrunnlagBuilder .class );
@@ -142,7 +183,7 @@ void skal_kopiere_inntektsmelding_og_ekstern_ref_hvis_finnes_fra_for() {
142
183
var iayt = new InntektArbeidYtelseTjeneste (iayr );
143
184
iayt .kopierGrunnlagFraEksisterendeBehandling (null , null , null , new KoblingReferanse (UUID .randomUUID ()),
144
185
new KoblingReferanse (UUID .randomUUID ()),
145
- EnumSet .of (Dataset .OPPGITT_OPPTJENING , Dataset .INNTEKTSMELDING , Dataset .REGISTER , Dataset .OVERSTYRT ));
186
+ EnumSet .of (Dataset .OPPGITT_OPPTJENING , Dataset .INNTEKTSMELDING , Dataset .REGISTER , Dataset .OVERSTYRT ), false );
146
187
147
188
// Assert
148
189
ArgumentCaptor <InntektArbeidYtelseGrunnlagBuilder > iaygBuilderCaptor = ArgumentCaptor .forClass (InntektArbeidYtelseGrunnlagBuilder .class );
0 commit comments