Skip to content
This repository has been archived by the owner on Nov 5, 2024. It is now read-only.

Commit

Permalink
Merge branch 'main' of github.com:navikt/veilarbregistrering
Browse files Browse the repository at this point in the history
  • Loading branch information
AuroraSmil committed Jan 20, 2023
2 parents 4b42de5 + 860e5c7 commit 5b97dcf
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@ import java.time.LocalDateTime
/**
* Root aggregate - all kommunikasjon mot Arbeidssøker og underliggende elementer skal gå via dette objektet.
*/
class Arbeidssoker : Observable {
class Arbeidssoker {

private val observers: MutableList<Observer> = mutableListOf()
private var tilstand: ArbeidssokerState = IkkeArbeidssokerState
private var arbeidssokerperioder: MutableList<Arbeidssokerperiode> = mutableListOf()

Expand All @@ -25,15 +24,11 @@ class Arbeidssoker : Observable {
internal fun startPeriode(fraDato: LocalDateTime) {
this.arbeidssokerperioder.add(Arbeidssokerperiode(fraDato, null))
this.tilstand = AktivArbeidssokerState
//publish event
observers.forEach { it.update("ArbeidssokerperiodeStartetEvent") }
}

internal fun avsluttPeriode(tilDato: LocalDateTime) {
sistePeriode()?.avslutt(tilDato) ?: throw IllegalStateException("Kan ikke avslutte en periode som ikke finnes")
this.tilstand = TidligereArbeidssokerState
//publish event
observers.forEach { it.update("ArbeidssokerperiodeAvsluttetEvent") }
}

internal fun harVærtInaktivMerEnn28Dager() = sistePeriode()!!.tilDato!!.isBefore(LocalDateTime.now().minusDays(28))
Expand All @@ -48,14 +43,6 @@ class Arbeidssoker : Observable {
internal fun allePerioder(): List<Arbeidssokerperiode> {
return arbeidssokerperioder
}

override fun add(observer: Observer) {
observers.add(observer)
}

override fun remove(observer: Observer) {
observers.remove(observer)
}
}

private interface ArbeidssokerState {
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package no.nav.fo.veilarbregistrering.arbeidssoker.perioder

import no.nav.common.featuretoggle.UnleashClient
import no.nav.fo.veilarbregistrering.arbeidssoker.Arbeidssoker
import no.nav.fo.veilarbregistrering.arbeidssoker.formidlingsgruppe.FormidlingsgruppeGateway
import no.nav.fo.veilarbregistrering.arbeidssoker.formidlingsgruppe.FormidlingsgruppeRepository
import no.nav.fo.veilarbregistrering.arbeidssoker.Arbeidssoker
import no.nav.fo.veilarbregistrering.bruker.Bruker
import no.nav.fo.veilarbregistrering.bruker.Periode
import no.nav.fo.veilarbregistrering.log.logger
Expand Down Expand Up @@ -36,7 +36,11 @@ class ArbeidssokerService(
try {
val arbeidssoker = populerNyArbeidssøkermodell(bruker)
val overlappendeArbeidssokerperioderLokalt = map(arbeidssoker).overlapperMed(forespurtPeriode)
sammenlignNyOgGammelModell(overlappendeArbeidssokerperioderLokalt, overlappendeHistoriskePerioderORDS, forespurtPeriode)
sammenlignNyOgGammelModell(
overlappendeArbeidssokerperioderLokalt,
overlappendeHistoriskePerioderORDS,
forespurtPeriode
)
} catch (e: RuntimeException) {
logger.warn("Sammenligning av perioder feilet", e)
}
Expand All @@ -51,18 +55,12 @@ class ArbeidssokerService(
}

private fun populerNyArbeidssøkermodell(bruker: Bruker): Arbeidssoker {
val brukerRegistrering =
brukerRegistreringRepository.hentBrukerregistreringForFoedselsnummer(bruker.alleFoedselsnummer())
val brukerReaktivering =
brukerReaktiveringRepository.finnReaktiveringerForFoedselsnummer(bruker.alleFoedselsnummer())
val formidlingsgruppe =
formidlingsgruppeRepository.hentFormidlingsgrupperOgMapTilFormidlingsgruppeEndretEvent(bruker.alleFoedselsnummer())
//TODO: hente meldekort - vi avventer Meldekort til vi har lært litt mer om modellen.

val listeMedArbeidssøkerEndringer = brukerRegistrering + brukerReaktivering + formidlingsgruppe

val arbeidssoker = Arbeidssoker()
listeMedArbeidssøkerEndringer.sortedBy { it.opprettetTidspunkt() }.forEach { arbeidssoker.behandle(it) }

formidlingsgruppe.sortedBy { it.opprettetTidspunkt() }.forEach { arbeidssoker.behandle(it) }

return arbeidssoker
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
package no.nav.fo.veilarbregistrering.arbeidssoker

import no.nav.fo.veilarbregistrering.arbeidssoker.Arbeidssoker
import no.nav.fo.veilarbregistrering.arbeidssoker.Arbeidssokerperiode
import no.nav.fo.veilarbregistrering.arbeidssoker.Observer
import no.nav.fo.veilarbregistrering.arbeidssoker.formidlingsgruppe.FormidlingsgruppeEndretEventTestdataBuilder.formidlingsgruppeEndret
import no.nav.fo.veilarbregistrering.bruker.AktorId
import no.nav.fo.veilarbregistrering.registrering.ordinaer.OrdinaerBrukerRegistreringTestdataBuilder.gyldigBrukerRegistrering
Expand All @@ -22,13 +19,9 @@ class ArbeidssokerTest {
val registreringsdato = LocalDateTime.now().minusMonths(2)
val nyRegistrering = gyldigBrukerRegistrering(opprettetDato = registreringsdato)

var hendelse : String? = null

arbeidssoker.add(object : Observer { override fun update(event: String) { hendelse = event } })
arbeidssoker.behandle(nyRegistrering)

assertEquals(Arbeidssokerperiode(registreringsdato, null), arbeidssoker.sistePeriode())
assertEquals("ArbeidssokerperiodeStartetEvent", hendelse)
}

@Test
Expand Down

0 comments on commit 5b97dcf

Please sign in to comment.