Skip to content

Commit 5f03851

Browse files
authored
IS-2351: Use correct capitalization for fullname (#507)
1 parent 4e14891 commit 5f03851

File tree

2 files changed

+69
-4
lines changed

2 files changed

+69
-4
lines changed

src/main/kotlin/no/nav/syfo/client/pdl/PdlPersonResponse.kt

+15-4
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ data class PdlIdenter(
5555
val aktivIdent: String? = identer.firstOrNull {
5656
it.gruppe == IdentGruppe.FOLKEREGISTERIDENT && !it.historisk
5757
}?.ident
58+
5859
fun identhendelseIsNotHistorisk(newIdent: String): Boolean {
5960
return identer.none { it.ident == newIdent && it.historisk }
6061
}
@@ -90,10 +91,20 @@ fun PdlHentPerson.fullName(): String? {
9091
}
9192
}
9293

93-
fun String.lowerCapitalize(): String {
94-
return this.lowercase()
95-
.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() }
96-
}
94+
fun String.lowerCapitalize() =
95+
this.split(" ").joinToString(" ") { name ->
96+
val nameWithDash = name.split("-")
97+
if (nameWithDash.size > 1) {
98+
nameWithDash.joinToString("-") { it.capitalizeName() }
99+
} else {
100+
name.capitalizeName()
101+
}
102+
}
103+
104+
private fun String.capitalizeName() =
105+
this.lowercase(Locale.getDefault()).replaceFirstChar {
106+
if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString()
107+
}
97108

98109
fun PdlError.errorMessage(): String {
99110
return "${this.message} with code: ${extensions.code} and classification: ${extensions.classification}"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package no.nav.syfo.client.pdl
2+
3+
import org.amshove.kluent.shouldBeEqualTo
4+
import org.spekframework.spek2.Spek
5+
import org.spekframework.spek2.style.specification.describe
6+
7+
object PdHentlPersonSpek : Spek({
8+
describe(PdlPerson::class.java.simpleName) {
9+
it("should return full name") {
10+
val pdlHentPerson = PdlHentPerson(
11+
hentPerson = PdlPerson(
12+
navn = listOf(
13+
PdlPersonNavn(
14+
fornavn = "OLA",
15+
mellomnavn = "mELLOMNAVN",
16+
etternavn = "nordmann",
17+
)
18+
)
19+
)
20+
)
21+
pdlHentPerson.fullName() shouldBeEqualTo "Ola Mellomnavn Nordmann"
22+
}
23+
24+
it("should return full name with spaces") {
25+
val pdlHentPerson = PdlHentPerson(
26+
hentPerson = PdlPerson(
27+
navn = listOf(
28+
PdlPersonNavn(
29+
fornavn = "OLA TONAVN",
30+
mellomnavn = "mellomnavn",
31+
etternavn = "nordmann",
32+
)
33+
)
34+
)
35+
)
36+
pdlHentPerson.fullName() shouldBeEqualTo "Ola Tonavn Mellomnavn Nordmann"
37+
}
38+
39+
it("should return full name with dash") {
40+
val pdlHentPerson = PdlHentPerson(
41+
hentPerson = PdlPerson(
42+
navn = listOf(
43+
PdlPersonNavn(
44+
fornavn = "OLA-TONAVN",
45+
mellomnavn = "mellomnavn",
46+
etternavn = "nordmann",
47+
)
48+
)
49+
)
50+
)
51+
pdlHentPerson.fullName() shouldBeEqualTo "Ola-Tonavn Mellomnavn Nordmann"
52+
}
53+
}
54+
})

0 commit comments

Comments
 (0)