Skip to content

Commit c8e88cf

Browse files
ArselanSultaniJMLindseth
authored andcommitted
Refaktorer variable navn for MapToInntektFrontend
1 parent c4d1b55 commit c8e88cf

File tree

2 files changed

+155
-37
lines changed

2 files changed

+155
-37
lines changed

dp-inntekt-api/src/main/kotlin/no/nav/dagpenger/inntekt/mapping/MapToInntektFrontend.kt

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ import java.time.YearMonth
1212
fun InntektkomponentResponse.mapToFrontend(
1313
person: Inntektsmottaker,
1414
organisasjonsInfoListe: MutableList<OrganisasjonNavnOgIdMapping>,
15-
): InntektForVirksomhetMedPersonInformasjon {
15+
): InntekterResponse {
1616
val inntekt = arbeidsInntektMaaned
17-
val virksomhetListe: MutableList<InntektForVirksomhet> = mutableListOf()
17+
val virksomhetListe: MutableList<Virksomhet> = mutableListOf()
1818

1919
inntekt?.forEach { arbeidsInntektMaaned ->
2020
val inntektsInformasjon = arbeidsInntektMaaned.arbeidsInntektInformasjon
@@ -23,18 +23,18 @@ fun InntektkomponentResponse.mapToFrontend(
2323
val virksomhetNavn =
2424
organisasjonsInfoListe.find { it.organisasjonsnummer == virksomhet?.identifikator }?.organisasjonNavn
2525
?: ""
26-
val inntekter = mutableListOf<InntektVirksomhetMaaned>()
26+
val inntekter = mutableListOf<InntektMaaned>()
2727
inntekter.add(
28-
InntektVirksomhetMaaned(
28+
InntektMaaned(
2929
belop = inntekt.beloep,
30-
inntektsKilde = inntekt.inntektskilde,
30+
inntektskilde = inntekt.inntektskilde,
3131
// TODO: finn ut om inntekten er redigert
3232
redigert = false,
3333
begrunnelse = inntekt.beskrivelse.name,
3434
aarMaaned = arbeidsInntektMaaned.aarMaaned,
3535
fordel = inntekt.fordel,
3636
beskrivelse = inntekt.beskrivelse,
37-
inntektsStatus = inntekt.inntektsstatus,
37+
inntektsstatus = inntekt.inntektsstatus,
3838
utbetaltIMaaned = inntekt.utbetaltIMaaned,
3939
inntektType = inntekt.inntektType,
4040
leveringstidspunkt = inntekt.leveringstidspunkt,
@@ -51,22 +51,22 @@ fun InntektkomponentResponse.mapToFrontend(
5151
)
5252

5353
val eksisterendeVirksomhet =
54-
virksomhetListe.find { it.virksomhet == virksomhet?.identifikator }
54+
virksomhetListe.find { it.virksomhetsnummer == virksomhet?.identifikator }
5555
if (eksisterendeVirksomhet != null) {
5656
eksisterendeVirksomhet.inntekter?.addAll(inntekter)
5757
eksisterendeVirksomhet.periode =
58-
InntektForVirksomhetPeriode(
58+
InntektPeriode(
5959
fra = eksisterendeVirksomhet.inntekter!!.minOf { it.aarMaaned },
6060
til = eksisterendeVirksomhet.inntekter.maxOf { it.aarMaaned },
6161
)
6262
eksisterendeVirksomhet.totalBeløp = eksisterendeVirksomhet.inntekter.sumOf { it.belop }
6363
} else {
6464
virksomhetListe.add(
65-
InntektForVirksomhet(
66-
virksomhet = virksomhet?.identifikator ?: "",
67-
virksomhetNavn = virksomhetNavn,
65+
Virksomhet(
66+
virksomhetsnummer = virksomhet?.identifikator ?: "",
67+
virksomhetsnavn = virksomhetNavn,
6868
periode =
69-
InntektForVirksomhetPeriode(
69+
InntektPeriode(
7070
fra = arbeidsInntektMaaned.aarMaaned,
7171
til = arbeidsInntektMaaned.aarMaaned,
7272
),
@@ -80,37 +80,37 @@ fun InntektkomponentResponse.mapToFrontend(
8080
}
8181
}
8282

83-
return InntektForVirksomhetMedPersonInformasjon(
84-
inntektVirksomhetMaaned = virksomhetListe,
83+
return InntekterResponse(
84+
virksomhetsinntekt = virksomhetListe,
8585
mottaker = person,
8686
)
8787
}
8888

89-
data class InntektForVirksomhetMedPersonInformasjon(
90-
val inntektVirksomhetMaaned: List<InntektForVirksomhet>,
89+
data class InntekterResponse(
90+
val virksomhetsinntekt: List<Virksomhet>,
9191
val mottaker: Inntektsmottaker,
9292
)
9393

94-
data class InntektForVirksomhet(
95-
val virksomhet: String,
96-
val virksomhetNavn: String,
97-
var periode: InntektForVirksomhetPeriode?,
98-
val inntekter: MutableList<InntektVirksomhetMaaned>?,
94+
data class Virksomhet(
95+
val virksomhetsnummer: String,
96+
val virksomhetsnavn: String,
97+
var periode: InntektPeriode?,
98+
val inntekter: MutableList<InntektMaaned>?,
9999
var totalBeløp: BigDecimal? = inntekter?.sumOf { it.belop } ?: BigDecimal.ZERO,
100100
val avvikListe: List<Avvik>,
101101
)
102102

103-
data class InntektForVirksomhetPeriode(
103+
data class InntektPeriode(
104104
val fra: YearMonth,
105105
val til: YearMonth,
106106
)
107107

108-
data class InntektVirksomhetMaaned(
108+
data class InntektMaaned(
109109
val belop: BigDecimal,
110110
val fordel: String,
111111
val beskrivelse: InntektBeskrivelse,
112-
val inntektsKilde: String,
113-
val inntektsStatus: String,
112+
val inntektskilde: String,
113+
val inntektsstatus: String,
114114
val leveringstidspunkt: YearMonth? = null,
115115
val opptjeningsland: String? = null,
116116
val skattemessigBosattLand: String? = null,

dp-inntekt-api/src/test/kotlin/no/nav/dagpenger/inntekt/mapping/MapToInntektFrontendTest.kt

Lines changed: 130 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektBeskrivelse
99
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektType
1010
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektkomponentResponse
1111
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.TilleggInformasjon
12+
import no.nav.dagpenger.inntekt.serder.jacksonObjectMapper
1213
import org.junit.jupiter.api.Test
1314
import java.math.BigDecimal
1415
import java.time.YearMonth
@@ -190,41 +191,158 @@ class MapToInntektFrontendTest {
190191
organisasjonNavnOgIdMappingForTesting,
191192
)
192193

193-
assertEquals(2, mappedToInntektFrontend.inntektVirksomhetMaaned.size)
194+
assertEquals(2, mappedToInntektFrontend.virksomhetsinntekt.size)
194195
assertEquals(mottaker, mappedToInntektFrontend.mottaker)
195196

196-
assertTrue { mappedToInntektFrontend.inntektVirksomhetMaaned.any { it.virksomhet == "896929119" } }
197-
assertTrue { mappedToInntektFrontend.inntektVirksomhetMaaned.any { it.virksomhet == "896929120" } }
198-
assertFalse { mappedToInntektFrontend.inntektVirksomhetMaaned.any { it.virksomhet == "8969291001" } }
197+
assertTrue { mappedToInntektFrontend.virksomhetsinntekt.any { it.virksomhetsnummer == "896929119" } }
198+
assertTrue { mappedToInntektFrontend.virksomhetsinntekt.any { it.virksomhetsnummer == "896929120" } }
199+
assertFalse { mappedToInntektFrontend.virksomhetsinntekt.any { it.virksomhetsnummer == "8969291001" } }
199200

200201
assertEquals(
201202
2,
202-
mappedToInntektFrontend.inntektVirksomhetMaaned
203-
.filter { it.virksomhet == "896929119" }[0]
203+
mappedToInntektFrontend.virksomhetsinntekt
204+
.filter { it.virksomhetsnummer == "896929119" }[0]
204205
.inntekter
205206
?.size,
206207
)
207208

208209
assertEquals(
209210
BigDecimal(100000),
210-
mappedToInntektFrontend.inntektVirksomhetMaaned
211-
.filter { it.virksomhet == "896929119" }[0]
211+
mappedToInntektFrontend.virksomhetsinntekt
212+
.filter { it.virksomhetsnummer == "896929119" }[0]
212213
.totalBeløp,
213214
)
214215

215216
assertEquals(
216217
1,
217-
mappedToInntektFrontend.inntektVirksomhetMaaned
218-
.filter { it.virksomhet == "896929120" }[0]
218+
mappedToInntektFrontend.virksomhetsinntekt
219+
.filter { it.virksomhetsnummer == "896929120" }[0]
219220
.inntekter
220221
?.size,
221222
)
222223

223224
assertEquals(
224225
BigDecimal(50000),
225-
mappedToInntektFrontend.inntektVirksomhetMaaned
226-
.filter { it.virksomhet == "896929120" }[0]
226+
mappedToInntektFrontend.virksomhetsinntekt
227+
.filter { it.virksomhetsnummer == "896929120" }[0]
227228
.totalBeløp,
228229
)
229230
}
231+
232+
@Test
233+
fun `Map inntekt til Inntekt med tom virksomhetsdata og få tom navn`() {
234+
val inntektkomponentResponseMedTomVirksomhet =
235+
InntektkomponentResponse(
236+
ident =
237+
Aktoer(
238+
aktoerType = AktoerType.AKTOER_ID,
239+
identifikator = "2044350291600",
240+
),
241+
arbeidsInntektMaaned =
242+
listOf(
243+
ArbeidsInntektMaaned(
244+
aarMaaned = YearMonth.of(2025, 1),
245+
arbeidsInntektInformasjon =
246+
ArbeidsInntektInformasjon(
247+
inntektListe =
248+
listOf(
249+
Inntekt(
250+
beloep = BigDecimal(50000),
251+
fordel = "kontantytelse",
252+
virksomhet = null,
253+
beskrivelse = InntektBeskrivelse.FASTLOENN,
254+
inntektType = InntektType.LOENNSINNTEKT,
255+
inntektskilde = "A-ordningen",
256+
inntektsstatus = "LoependeInnrapportert",
257+
utbetaltIMaaned = YearMonth.of(2025, 1),
258+
inntektsperiodetype = "Maaned",
259+
),
260+
),
261+
),
262+
avvikListe = emptyList(),
263+
),
264+
ArbeidsInntektMaaned(
265+
aarMaaned = YearMonth.of(2025, 1),
266+
arbeidsInntektInformasjon =
267+
ArbeidsInntektInformasjon(
268+
inntektListe =
269+
listOf(
270+
Inntekt(
271+
beloep = BigDecimal(2),
272+
fordel = "kontantytelse",
273+
virksomhet = null,
274+
beskrivelse = InntektBeskrivelse.FASTLOENN,
275+
inntektType = InntektType.LOENNSINNTEKT,
276+
inntektskilde = "A-ordningen",
277+
inntektsstatus = "LoependeInnrapportert",
278+
utbetaltIMaaned = YearMonth.of(2025, 1),
279+
inntektsperiodetype = "Maaned",
280+
),
281+
),
282+
),
283+
avvikListe = emptyList(),
284+
),
285+
ArbeidsInntektMaaned(
286+
aarMaaned = YearMonth.of(2025, 3),
287+
arbeidsInntektInformasjon =
288+
ArbeidsInntektInformasjon(
289+
inntektListe =
290+
listOf(
291+
Inntekt(
292+
beloep = BigDecimal(50000),
293+
fordel = "kontantytelse",
294+
virksomhet =
295+
Aktoer(
296+
aktoerType = AktoerType.ORGANISASJON,
297+
identifikator = "896929120",
298+
),
299+
beskrivelse = InntektBeskrivelse.FASTLOENN,
300+
inntektType = InntektType.LOENNSINNTEKT,
301+
inntektskilde = "A-ordningen",
302+
inntektsstatus = "LoependeInnrapportert",
303+
opptjeningsland = "NO",
304+
utbetaltIMaaned = YearMonth.of(2025, 3),
305+
inntektsmottaker =
306+
Aktoer(
307+
aktoerType = AktoerType.AKTOER_ID,
308+
identifikator = "2044350291600",
309+
),
310+
informasjonsstatus = "InngaarAlltid",
311+
opplysningspliktig =
312+
Aktoer(
313+
aktoerType = AktoerType.ORGANISASJON,
314+
identifikator = "963743254",
315+
),
316+
inntektsperiodetype = "Maaned",
317+
tilleggsinformasjon =
318+
TilleggInformasjon(
319+
kategori = "NorskKontinentalsokkel",
320+
tilleggsinformasjonDetaljer = null,
321+
),
322+
skattemessigBosattLand = "NO",
323+
inngaarIGrunnlagForTrekk = true,
324+
utloeserArbeidsgiveravgift = true,
325+
),
326+
),
327+
),
328+
avvikListe = emptyList(),
329+
),
330+
),
331+
)
332+
333+
val mapTilFrontendMedNullVirksomhet =
334+
inntektkomponentResponseMedTomVirksomhet.mapToFrontend(mottaker, organisasjonNavnOgIdMappingForTesting)
335+
assertEquals(3, mapTilFrontendMedNullVirksomhet.virksomhetsinntekt.size)
336+
assertEquals(2, mapTilFrontendMedNullVirksomhet.virksomhetsinntekt.filter { it.virksomhetsnummer == "" }.size)
337+
assertEquals(1, mapTilFrontendMedNullVirksomhet.virksomhetsinntekt.filter { it.virksomhetsnummer == "896929120" }.size)
338+
339+
jacksonObjectMapper.writeValueAsString(mapTilFrontendMedNullVirksomhet)
340+
println(
341+
"mapTilFrontendMedNullVirksomhetjson: ${
342+
jacksonObjectMapper.writeValueAsString(
343+
mapTilFrontendMedNullVirksomhet,
344+
)
345+
}",
346+
)
347+
}
230348
}

0 commit comments

Comments
 (0)