diff --git a/src/main/kotlin/no/nav/fo/veilarbregistrering/profilering/ProfilertInnsatsgruppeService.kt b/src/main/kotlin/no/nav/fo/veilarbregistrering/profilering/ProfilertInnsatsgruppeService.kt index 42a5a7d80..1a5a34b37 100644 --- a/src/main/kotlin/no/nav/fo/veilarbregistrering/profilering/ProfilertInnsatsgruppeService.kt +++ b/src/main/kotlin/no/nav/fo/veilarbregistrering/profilering/ProfilertInnsatsgruppeService.kt @@ -1,6 +1,8 @@ package no.nav.fo.veilarbregistrering.profilering +import no.nav.fo.veilarbregistrering.arbeidssoker.formidlingsgruppe.Formidlingsgruppe import no.nav.fo.veilarbregistrering.bruker.Bruker +import no.nav.fo.veilarbregistrering.config.isDevelopment import no.nav.fo.veilarbregistrering.oppfolging.OppfolgingGateway import no.nav.fo.veilarbregistrering.oppfolging.Servicegruppe import no.nav.fo.veilarbregistrering.registrering.ordinaer.BrukerRegistreringRepository @@ -13,16 +15,17 @@ class ProfilertInnsatsgruppeService( ) { fun erStandardInnsats(bruker: Bruker): Boolean { - val (innsatsgruppe, servicegruppe) = hentProfilering(bruker) + val (innsatsgruppe, servicegruppe, formidlingsgruppe) = hentProfilering(bruker) + val brukInnsatsgruppe = servicegruppe?.value() == "IVURD" || (servicegruppe == null && isDevelopment()); - return if (servicegruppe?.value() == "IVURD") { + return if (brukInnsatsgruppe) { innsatsgruppe == Innsatsgruppe.STANDARD_INNSATS } else { - servicegruppe?.value() == "IKVAL" + servicegruppe?.value() == "IKVAL" && formidlingsgruppe?.erArbeidssoker() ?: false; } } - fun hentProfilering(bruker: Bruker): Pair { + fun hentProfilering(bruker: Bruker): Triple { val arenaStatus = oppfolgingGateway.arenaStatus(bruker.gjeldendeFoedselsnummer) val brukerregistrering = brukerRegistreringRepository .finnOrdinaerBrukerregistreringForAktorIdOgTilstand(bruker.aktorId, listOf( @@ -34,6 +37,6 @@ class ProfilertInnsatsgruppeService( val profilering = brukerregistrering?.let { profileringRepository.hentProfileringForId(brukerregistrering.id) } - return Pair(profilering?.innsatsgruppe, arenaStatus?.servicegruppe) + return Triple(profilering?.innsatsgruppe, arenaStatus?.servicegruppe, arenaStatus?.formidlingsgruppe) } } diff --git a/src/main/kotlin/no/nav/fo/veilarbregistrering/profilering/resources/ProfileringDto.kt b/src/main/kotlin/no/nav/fo/veilarbregistrering/profilering/resources/ProfileringDto.kt index fd88763e1..b9562ba3f 100644 --- a/src/main/kotlin/no/nav/fo/veilarbregistrering/profilering/resources/ProfileringDto.kt +++ b/src/main/kotlin/no/nav/fo/veilarbregistrering/profilering/resources/ProfileringDto.kt @@ -1,10 +1,11 @@ package no.nav.fo.veilarbregistrering.profilering.resources +import no.nav.fo.veilarbregistrering.arbeidssoker.formidlingsgruppe.Formidlingsgruppe import no.nav.fo.veilarbregistrering.oppfolging.Servicegruppe import no.nav.fo.veilarbregistrering.profilering.Innsatsgruppe data class ProfileringDto(val innsatsgruppe: String?, val servicegruppe: String?) { companion object { - fun fra(pair: Pair) = ProfileringDto(pair.first?.value(), pair.second?.kode) + fun fra(triple: Triple) = ProfileringDto(triple.first?.value(), triple.second?.kode) } } diff --git a/src/test/kotlin/no/nav/fo/veilarbregistrering/profilering/ProfilertInnsatsgruppeServiceTest.kt b/src/test/kotlin/no/nav/fo/veilarbregistrering/profilering/ProfilertInnsatsgruppeServiceTest.kt index c1a39ce4c..0181c3824 100644 --- a/src/test/kotlin/no/nav/fo/veilarbregistrering/profilering/ProfilertInnsatsgruppeServiceTest.kt +++ b/src/test/kotlin/no/nav/fo/veilarbregistrering/profilering/ProfilertInnsatsgruppeServiceTest.kt @@ -50,7 +50,7 @@ internal class ProfilertInnsatsgruppeServiceTest { val hentProfilering = profilertInnsatsgruppeService.hentProfilering(Bruker(Foedselsnummer("123"), AktorId("456"))) - assertEquals(hentProfilering, Pair(Innsatsgruppe.STANDARD_INNSATS, Servicegruppe("IVURD"))) + assertEquals(hentProfilering, Triple(Innsatsgruppe.STANDARD_INNSATS, Servicegruppe("IVURD"), Formidlingsgruppe("ARBS"))) } @Test diff --git a/src/test/kotlin/no/nav/fo/veilarbregistrering/profilering/resource/ProfileringResourceTest.kt b/src/test/kotlin/no/nav/fo/veilarbregistrering/profilering/resource/ProfileringResourceTest.kt index f592c0513..28f03c091 100644 --- a/src/test/kotlin/no/nav/fo/veilarbregistrering/profilering/resource/ProfileringResourceTest.kt +++ b/src/test/kotlin/no/nav/fo/veilarbregistrering/profilering/resource/ProfileringResourceTest.kt @@ -16,6 +16,7 @@ import org.springframework.test.context.ContextConfiguration import org.springframework.test.web.servlet.MockMvc import org.springframework.test.web.servlet.get import kotlin.test.assertEquals +import no.nav.fo.veilarbregistrering.arbeidssoker.formidlingsgruppe.Formidlingsgruppe @AutoConfigureMockMvc @WebMvcTest @@ -55,7 +56,7 @@ class ProfileringResourceConfig { fun profilertInnsatsgruppeService(): ProfilertInnsatsgruppeService { val profilertInnsatsgruppeService = mockk() - every { profilertInnsatsgruppeService.hentProfilering(any()) } returns Pair(Innsatsgruppe.STANDARD_INNSATS, Servicegruppe("IVURD")) + every { profilertInnsatsgruppeService.hentProfilering(any()) } returns Triple(Innsatsgruppe.STANDARD_INNSATS, Servicegruppe("IVURD"), Formidlingsgruppe("IARBS")) every { profilertInnsatsgruppeService.erStandardInnsats(any()) } returns false return profilertInnsatsgruppeService