diff --git a/src/main/kotlin/rekrutteringsbistand/stilling/indekser/behandling/konverterTilStilling.kt b/src/main/kotlin/rekrutteringsbistand/stilling/indekser/behandling/konverterTilStilling.kt index e09e342..5b0a67a 100644 --- a/src/main/kotlin/rekrutteringsbistand/stilling/indekser/behandling/konverterTilStilling.kt +++ b/src/main/kotlin/rekrutteringsbistand/stilling/indekser/behandling/konverterTilStilling.kt @@ -32,18 +32,20 @@ fun konverterTilStilling(ad: Ad): Stilling { ad.getSource(), ad.getMedium(), ad.getBusinessName(), - ad.getLocations().map { Location( - it.getAddress(), - it.getPostalCode(), - it.getCity(), - it.getCounty(), - it.countyCode, - it.getMunicipal(), - it.municipalCode, - it.getLatitude(), - it.getLongitude(), - it.getCountry() - ) }, + ad.getLocations().map { + Location( + it.getAddress(), + it.getPostalCode(), + it.getCity(), + it.getCounty(), + it.countyCode, + it.getMunicipal(), + it.municipalCode, + it.getLatitude(), + it.getLongitude(), + it.getCountry() + ) + }, ad.getReference(), ad.getAdministration()?.let { Administration( @@ -56,13 +58,16 @@ fun konverterTilStilling(ad: Ad): Stilling { }, ad.getProperties().associate { it.getKey() to (tilJson(it.getValue()) ?: it.getValue()) }, ad.getContacts() - ?.map { Contact( - it.getName(), - it.getRole(), - it.getTitle(), - it.getEmail(), - it.getPhone()) - } ?: emptyList() + ?.map { + Contact( + it.getName(), + it.getRole(), + it.getTitle(), + it.getEmail(), + it.getPhone() + ) + } ?: emptyList(), + "whatever" ) } diff --git a/src/main/kotlin/rekrutteringsbistand/stilling/indekser/opensearch/openSearchTyper.kt b/src/main/kotlin/rekrutteringsbistand/stilling/indekser/opensearch/openSearchTyper.kt index ce61069..7b2d206 100644 --- a/src/main/kotlin/rekrutteringsbistand/stilling/indekser/opensearch/openSearchTyper.kt +++ b/src/main/kotlin/rekrutteringsbistand/stilling/indekser/opensearch/openSearchTyper.kt @@ -27,7 +27,8 @@ data class Stilling( val reference: String, val administration: Administration?, val properties: Map, - val contacts: List + val contacts: List, + val styrkEllerTittel: String ) data class Location( diff --git a/src/test/kotlin/rekrutteringsbistand/stilling/indekser/behandling/KonverterTilStillingTest.kt b/src/test/kotlin/rekrutteringsbistand/stilling/indekser/behandling/KonverterTilStillingTest.kt index 4eac6fd..a302804 100644 --- a/src/test/kotlin/rekrutteringsbistand/stilling/indekser/behandling/KonverterTilStillingTest.kt +++ b/src/test/kotlin/rekrutteringsbistand/stilling/indekser/behandling/KonverterTilStillingTest.kt @@ -2,14 +2,50 @@ package rekrutteringsbistand.stilling.indekser.behandling import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import no.nav.pam.stilling.ext.avro.Contact +import no.nav.pam.stilling.ext.avro.StyrkCategory import org.junit.Test import rekrutteringsbistand.stilling.indekser.setup.enAd +import rekrutteringsbistand.stilling.indekser.setup.enAdMed import rekrutteringsbistand.stilling.indekser.setup.enAdUtenKontaktinformasjon import kotlin.test.assertEquals import kotlin.test.assertTrue class KonverterTilStillingTest { + // Gitt en annonse for en direktemeldt stilling med flere styrk-koder + // når konverterer + // så skal tittelfeltet være styrknavnet til styrk-oden med 6 siffer (fordi det er bare Rekbis som bruker 6 siffer) + @Test + fun `Skal mappe STYRK-navn til tittel for direktemeldt stilling`(){ + val forventetNavn = "navn666666" + val styrkkodePåRekbisFormat = "6666.66" + val styrk = listOf(StyrkCategory("1234", "aaa"), StyrkCategory("4567", "bbb"), StyrkCategory(styrkkodePåRekbisFormat, forventetNavn)) + + val resultat = konverterTilStilling(enAdMed(source = "DIR", categories = styrk)) + + assertEquals(forventetNavn, resultat.styrkEllerTittel) + assertEquals("DIR", resultat.source) + } + + // Gitt en annonse for en ekstern stilling med flere styrk-koder + // når konverterer + // så skal tittelfeltet være arbeidsplassen-tittelen + + + // Gitt en annonse for en direktemeldt stilling uten styrk + // når konverterer + // så skal ??? + + // Gitt en annonse for en direktemeldt stilling med styrk som har feil format + // når konverterer + // så skal tittelfeltet inneholde en standardtekst (TODO: hva?) + + // Denne venter vi med til altt annet er gjort + // Gitt en annonse for en direktemeldt stilling, som selvfølgelig har tittel + // når konverterer + // så skal ikke tittel finnes + + @Test fun `Skal mappe felter riktig`() { val resultat = konverterTilStilling(enAd) @@ -41,4 +77,4 @@ fun assertEqualContactLists(adContactList: List, stillingContactList: L assertEquals(adContact.getEmail(), stillingContactList[index].email) assertEquals(adContact.getPhone(), stillingContactList[index].phone) } -} \ No newline at end of file +} diff --git a/src/test/kotlin/rekrutteringsbistand/stilling/indekser/setup/TestData.kt b/src/test/kotlin/rekrutteringsbistand/stilling/indekser/setup/TestData.kt index 2246284..75cb61c 100644 --- a/src/test/kotlin/rekrutteringsbistand/stilling/indekser/setup/TestData.kt +++ b/src/test/kotlin/rekrutteringsbistand/stilling/indekser/setup/TestData.kt @@ -4,6 +4,64 @@ import no.nav.pam.stilling.ext.avro.* import rekrutteringsbistand.stilling.indekser.stillingsinfo.Stillingsinfo import java.time.LocalDateTime + +fun enAdMed(source: String = "source", + categories: List = listOf(StyrkCategory("1111", "name111"), StyrkCategory("2222", "name2222"), StyrkCategory("666666", "name666666"))) = Ad( + "uuid", + "annonsenr", + "tittel", + AdStatus.ACTIVE, + PrivacyChannel.INTERNAL_NOT_SHOWN, + Administration( + AdministrationStatus.DONE, + listOf(RemarkType.FOREIGN_JOB), + "kommentar", + "reportee", + "navIdent" + ), + LocalDateTime.now().toString(), + LocalDateTime.now().toString(), + LocalDateTime.now().toString(), + LocalDateTime.now().toString(), + Company( + "navn", + "publicname", + "orgnr", + "parentOrgnr", + "orgform" + ), + categories, + source, + "medium", + "reference", + LocalDateTime.now().toString(), + "businessName", + listOf( + Location( + "address", + "postalCode", + "county", + "municipal", + "city", + "country", + "latitue", + "longitude", + "municipal_code", + "county_code" + ) + ), + listOf( + Property("sector", "Offentlig"), + Property("adtext", "

Tittel

Den beste stillingen noen sinne

"), + Property("searchtags", "[{\"label\":\"Sales Promotion Manager\",\"score\":1.0},{\"label\":\"Salgssjef\",\"score\":0.25137392},{\"label\":\"Sales Manager (Hotels)\",\"score\":0.21487874},{\"label\":\"Promotions Director\",\"score\":0.09032349},{\"label\":\"Salgsfremmer\",\"score\":0.09004237}]"), + Property("tags", "[\"INKLUDERING__ARBEIDSTID\", \"TILTAK_ELLER_VIRKEMIDDEL__LÆRLINGPLASS\"]") + ), + listOf( + Contact("Vegard Veiledersen", "veileder@nav.no", "", "Veileder","Markedskontakt") + ) +) + + val enAd = Ad( "uuid", "annonsenr", @@ -28,7 +86,7 @@ val enAd = Ad( "parentOrgnr", "orgform" ), - listOf(StyrkCategory("kode", "name")), + listOf(StyrkCategory("1111", "name111"), StyrkCategory("2222", "name2222"), StyrkCategory("666666", "name666666")), "source", "medium", "reference",