Skip to content

Commit

Permalink
Fiks bug som viste fnr til enkelte som var født på 1900-tallet
Browse files Browse the repository at this point in the history
  • Loading branch information
madsleegiil committed Sep 30, 2024
1 parent 6a73151 commit 4add428
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,10 @@ class InnsynrettController(private val authService: IAuthService) {
val måned = fnr.substring(2, 4).toInt()
val år = fnr.substring(4, 6).toInt()

val indexTilSifferSomBestemerÅrHundre = 6
val århundre = if (Integer.parseInt(fnr[indexTilSifferSomBestemerÅrHundre].toString()) < 4) 1900 else 2000
// Dette vil fungere så lenge vi ikke har brukere på over 100 år
val inneværendeÅr = LocalDate.now().year.minus(2000)
val århundre = if (år > inneværendeÅr) 1900 else 2000

val fødselsår = århundre + år

val fødselsdato = LocalDate.of(fødselsår, måned, dag)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,7 @@ internal class InnsynrettControllerTest : SpringBootTestBase() {

@Test
fun `for bruker som er født på 1900 tallet har foresatte aldri innsynsrett`() {

val brukerOptions = BrukerOptions.happyBruker().toBuilder().fnr("01012320000").build()
val brukerOptions = BrukerOptions.happyBruker().toBuilder().fnr("01017120000").build()
val bruker = navMockService.createHappyBruker(brukerOptions)

val response = bruker
Expand Down Expand Up @@ -123,6 +122,26 @@ internal class InnsynrettControllerTest : SpringBootTestBase() {
assertThat(response.foresatteHarInnsynsrett).isTrue()
}

@Test
fun `skal kunne se at en person er født på 1900-tallet selv om personnummeret starter på 9`() {
val brukerOptions = BrukerOptions.happyBruker().toBuilder()
.fnr("16917197656")
.build()
val bruker = navMockService.createHappyBruker(brukerOptions)

val response = bruker
.createRequest()
.get("http://localhost:$port/veilarbaktivitet/api/ekstern/innsynsrett")
.then()
.assertThat()
.statusCode(200)
.extract()
.response()
.`as`(InnsynrettController.InnsynsrettDTO::class.java)

assertThat(response.foresatteHarInnsynsrett).isFalse()
}

fun LocalDate.tilFødselsDato(): String {
val dag = this.dayOfMonth.toString().padStart(2, '0')
val måned = this.monthValue.toString().padStart(2, '0')
Expand Down

0 comments on commit 4add428

Please sign in to comment.