Skip to content

Commit

Permalink
♻️ Be VedtakFattetMelder eksplisitt om å publisere meldinger
Browse files Browse the repository at this point in the history
  • Loading branch information
chsko committed Apr 2, 2024
1 parent b58ba2c commit 075a902
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -215,13 +215,15 @@ internal class MeldingMediator(
val vedtakFattetMelder = VedtakFattetMelder(rapidsConnection)
sykefraværstilfelle.registrer(vedtakFattetMelder)
avsluttetMedVedtakMessage.sendInnTil(sykefraværstilfelle)
vedtakFattetMelder.publiserUtgåendeMeldinger()
}

internal fun håndter(avsluttetUtenVedtakMessage: AvsluttetUtenVedtakMessage) {
generasjonRepository.brukGenerasjon(avsluttetUtenVedtakMessage.vedtaksperiodeId()) { generasjon ->
val vedtakFattetMelder = VedtakFattetMelder(rapidsConnection)
generasjon.registrer(vedtakFattetMelder)
avsluttetUtenVedtakMessage.sendInnTil(generasjon)
vedtakFattetMelder.publiserUtgåendeMeldinger()
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,16 @@ import org.slf4j.LoggerFactory
internal class VedtakFattetMelder(
private val rapidsConnection: RapidsConnection,
) : PersonObserver, IVedtaksperiodeObserver {
private val sykepengevedtak = mutableListOf<Sykepengevedtak>()
private companion object {
private val sikkerLogg = LoggerFactory.getLogger("tjenestekall")
private val logg = LoggerFactory.getLogger(VedtakFattetMelder::class.java)
}

override fun vedtakFattet(sykepengevedtak: Sykepengevedtak) {
internal fun publiserUtgåendeMeldinger() {
if (sykepengevedtak.isEmpty()) return
check(sykepengevedtak.size == 1) { "Forventer å publisere kun ett vedtak" }
val sykepengevedtak = sykepengevedtak.single()
val json = when (sykepengevedtak) {
is Sykepengevedtak.AuuVedtak -> auuVedtakJson(sykepengevedtak)
is Sykepengevedtak.Vedtak -> vedtakJson(sykepengevedtak)
Expand All @@ -33,6 +37,10 @@ internal class VedtakFattetMelder(
rapidsConnection.publish(sykepengevedtak.fødselsnummer, json)
}

override fun vedtakFattet(sykepengevedtak: Sykepengevedtak) {
this.sykepengevedtak.add(sykepengevedtak)
}

private fun vedtakJson(sykepengevedtak: Sykepengevedtak.Vedtak): String {
val message = JsonMessage.newMessage("vedtak_fattet", mutableMapOf(
"fødselsnummer" to sykepengevedtak.fødselsnummer,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import org.junit.jupiter.api.Test

internal class VedtakFattetMelderTest {
private val testRapid = TestRapid()
private val mediator = VedtakFattetMelder(testRapid)
private val vedtakFattetMelder = VedtakFattetMelder(testRapid)

private companion object {
private val fødselsnummer = "12345678910"
Expand Down Expand Up @@ -56,7 +56,8 @@ internal class VedtakFattetMelderTest {
vedtakFattetTidspunkt = vedtakFattetTidspunkt,
tags = listOf("IngenNyArbeidsgiverperiode")
)
mediator.vedtakFattet(auuVedtak)
vedtakFattetMelder.vedtakFattet(auuVedtak)
vedtakFattetMelder.publiserUtgåendeMeldinger()
val eventer = testRapid.inspektør.meldinger()

assertEquals(1, eventer.size)
Expand Down Expand Up @@ -111,7 +112,8 @@ internal class VedtakFattetMelderTest {
skjønnsfastsettingopplysninger = null,
tags = listOf("IngenNyArbeidsgiverperiode")
)
mediator.vedtakFattet(infotrygd)
vedtakFattetMelder.vedtakFattet(infotrygd)
vedtakFattetMelder.publiserUtgåendeMeldinger()
val eventer = testRapid.inspektør.meldinger()

assertEquals(1, eventer.size)
Expand Down Expand Up @@ -180,7 +182,8 @@ internal class VedtakFattetMelderTest {
skjønnsfastsettingopplysninger = null,
tags = listOf("IngenNyArbeidsgiverperiode")
)
mediator.vedtakFattet(infotrygd)
vedtakFattetMelder.vedtakFattet(infotrygd)
vedtakFattetMelder.publiserUtgåendeMeldinger()
val eventer = testRapid.inspektør.meldinger()

assertEquals(1, eventer.size)
Expand Down Expand Up @@ -264,7 +267,8 @@ internal class VedtakFattetMelderTest {
skjønnsfastsettingopplysninger = SkjønnsfastsettingopplysningerDto("Mal", "Fritekst", "Konklusjon", Skjønnsfastsettingstype.OMREGNET_ÅRSINNTEKT, Skjønnsfastsettingsårsak.ANDRE_AVSNITT),
tags = listOf("IngenNyArbeidsgiverperiode")
)
mediator.vedtakFattet(infotrygd)
vedtakFattetMelder.vedtakFattet(infotrygd)
vedtakFattetMelder.publiserUtgåendeMeldinger()
val eventer = testRapid.inspektør.meldinger()

assertEquals(1, eventer.size)
Expand Down

0 comments on commit 075a902

Please sign in to comment.