Skip to content

Commit 354f0a3

Browse files
committed
F - Oppdatering av utenlandsadresse skal kun skje der det ikke eksisterer norsk adresse
1 parent 2212479 commit 354f0a3

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

src/main/kotlin/no/nav/eessi/pensjon/pdl/adresseoppdatering/AdresseValidering.kt

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package no.nav.eessi.pensjon.pdl.adresseoppdatering
22

3+
import no.nav.eessi.pensjon.personoppslag.pdl.model.Metadata
4+
35
object AdresseValidering {
46

57
val maaInneholdeMinstEnBokstav = Regex(".*\\p{L}+.*")
@@ -24,6 +26,12 @@ object AdresseValidering {
2426
!inneholderUkjentFraser(tekst) &&
2527
!inneholderTegnPDLIkkeGodtar(tekst)
2628

29+
/**
30+
* Fra PDL: Norsk bostedsadresse vil alltid ha Freg som master. Utenlandsk bostedsadresse vil alltid ha PDL som master.
31+
*/
32+
fun erNorskAdresse(meta: Metadata?) : Boolean{
33+
return meta?.master.equals("FREG", ignoreCase = true).not().also { print("erNorskAdresse: " +it) }
34+
}
2735
private fun inneholderPostboksFraser(tekst: String) = postboksFraser.any { tekst.contains(it) }
2836
private fun inneholderUkjentFraser(tekst: String) = ukjentFraser.any { tekst.contains(it) }
2937
private fun inneholderTegnPDLIkkeGodtar(tekst: String) = ugyldigeTegn.any { tekst.contains(it) }

src/main/kotlin/no/nav/eessi/pensjon/pdl/adresseoppdatering/VurderAdresseoppdatering.kt

+1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ class VurderAdresseoppdatering(
8787
?: personFraPDL.identer.first().ident
8888

8989
require(erUtenAdressebeskyttelse(personFraPDL.adressebeskyttelse)) { return IngenOppdatering("Ingen adresseoppdatering") }
90+
require(AdresseValidering.erNorskAdresse(personFraPDL.bostedsadresse?.metadata)) { return IngenOppdatering("Ingen adresseoppdatering da dette allerede har en norsk adresse") }
9091

9192
logger.info("Vi har funnet en person fra PDL med samme norsk identifikator som bruker i SED")
9293

src/test/kotlin/no/nav/eessi/pensjon/pdl/adresseoppdatering/VurderAdresseoppdateringTest.kt

+38-2
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,20 @@ internal class VurderAdresseoppdateringTest {
116116
landkode = "SWE"
117117
)
118118

119+
private val NORSK_ADRESSE_FRA_PDL = Bostedsadresse(
120+
LocalDateTime.of(2000, 9, 2, 4,3),
121+
LocalDateTime.of(2300, 9, 2, 4,3),
122+
Vegadresse(
123+
"Kirkeveien",
124+
"12",
125+
null,
126+
"0123",
127+
null,
128+
null
129+
),
130+
utenlandskAdresse = null,
131+
metadata = Metadata(emptyList(), false, "FREG", "Doll")
132+
)
119133
private val EDDY_ADRESSE_I_ENDRINGSMELDING = EndringsmeldingUtenlandskAdresse(
120134
adressenavnNummer = "EddyRoad",
121135
bygningEtasjeLeilighet = "EddyHouse",
@@ -238,6 +252,27 @@ internal class VurderAdresseoppdateringTest {
238252
), result)
239253
}
240254

255+
@Test
256+
fun `Gitt SED med norsk bostedsadresse, og selv om denne finnes i PDL som en adresse fra FREG, så oppretter vi en ny kontaktadresse likevel`() {
257+
every { euxService.hentSed(any(), any()) } returns sed(brukersAdresse = EDDY_ADRESSE_I_SED)
258+
every { personService.hentPerson(NorskIdent(SOME_FNR)) } returns
259+
personFraPDL(
260+
bostedsadresse = NORSK_ADRESSE_FRA_PDL,
261+
metadataMaster = "Freg"
262+
)
263+
every { personMottakKlient.opprettPersonopplysning(any()) } returns true
264+
val adresseoppdatering = VurderAdresseoppdatering(personService, euxService, sedTilPDLAdresse)
265+
266+
val result =
267+
adresseoppdatering.vurderUtenlandskKontaktadresse(sedHendelse(avsenderLand = EDDY_ADRESSE_LANDKODE))
268+
269+
assertEquals(
270+
IngenOppdatering(
271+
"Ingen adresseoppdatering da dette allerede har en norsk adresse"
272+
), result
273+
)
274+
}
275+
241276
@Test
242277
fun `Gitt SED med gyldig utlandsadresse, og selv om denne finnes i PDL som en adresse fra FREG, så oppretter vi en ny kontaktadresse likevel`() {
243278
every { euxService.hentSed(any(), any()) } returns sed(brukersAdresse = EDDY_ADRESSE_I_SED)
@@ -684,7 +719,8 @@ internal class VurderAdresseoppdateringTest {
684719
opplysningsId: String = "DummyOpplysningsId",
685720
gyldigFraOgMed: LocalDateTime = LocalDateTime.now().minusDays(10),
686721
gyldigTilOgMed: LocalDateTime = LocalDateTime.now().plusDays(10),
687-
metadataMaster: String = "PDL"
722+
metadataMaster: String = "PDL",
723+
bostedsadresse: Bostedsadresse? = null
688724
): PdlPerson {
689725
val personfnr = Fodselsnummer.fra(id)
690726
val fdatoaar = LocalDate.of(1921, 7, 12)
@@ -699,7 +735,7 @@ internal class VurderAdresseoppdateringTest {
699735
) else listOf(IdentInformasjon(id!!, IdentGruppe.FOLKEREGISTERIDENT)),
700736
navn = null,
701737
adressebeskyttelse = adressebeskyttelse,
702-
bostedsadresse = null,
738+
bostedsadresse = bostedsadresse,
703739
oppholdsadresse = null,
704740
statsborgerskap = listOf(),
705741
foedested = Foedested("NOR", null, null, null, metadata = Metadata(

0 commit comments

Comments
 (0)