Skip to content

Commit 19f5e6e

Browse files
committed
1302: Lagre referanse til tilknyttet oppgave
1 parent 301f142 commit 19f5e6e

File tree

5 files changed

+51
-2
lines changed

5 files changed

+51
-2
lines changed

app/src/main/kotlin/no/nav/tiltakspenger/vedtak/repository/meldekort/BrukersMeldekortPostgresRepo.kt

+23-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,29 @@ class BrukersMeldekortPostgresRepo(
5353
"mottatt" to brukersMeldekort.mottatt,
5454
"dager" to brukersMeldekort.toDagerJson(),
5555
"journalpost_id" to brukersMeldekort.journalpostId.toString(),
56-
"oppgave_id" to brukersMeldekort.oppgaveId,
56+
"oppgave_id" to brukersMeldekort.oppgaveId?.toString(),
57+
).asUpdate,
58+
)
59+
}
60+
}
61+
62+
/**
63+
* Oppdaterer et meldekort som allerede er lagret i databasen.
64+
*/
65+
override fun oppdater(
66+
brukersMeldekort: BrukersMeldekort,
67+
sessionContext: SessionContext?,
68+
) {
69+
sessionFactory.withSession(sessionContext) { session ->
70+
session.run(
71+
sqlQuery(
72+
"""
73+
update meldekort_bruker
74+
set oppgave_id = :oppgave_id
75+
where id = :id
76+
""",
77+
"id" to brukersMeldekort.id.toString(),
78+
"oppgave_id" to brukersMeldekort.oppgaveId?.toString(),
5779
).asUpdate,
5880
)
5981
}

app/src/test/kotlin/no/nav/tiltakspenger/meldekort/service/OppgaveMeldekortServiceTest.kt

+15
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package no.nav.tiltakspenger.meldekort.service
22

33
import io.mockk.clearAllMocks
44
import io.mockk.coEvery
5+
import io.mockk.coJustRun
56
import io.mockk.coVerify
67
import io.mockk.every
78
import io.mockk.mockk
@@ -35,9 +36,21 @@ class OppgaveMeldekortServiceTest {
3536
val meldekort = mockk<BrukersMeldekort>()
3637
every { meldekort.journalpostId } returns journalpostId
3738
every { meldekort.sakId } returns SakId.random()
39+
every {
40+
meldekort.copy(
41+
id = any(),
42+
meldeperiode = any(),
43+
sakId = any(),
44+
mottatt = any(),
45+
dager = any(),
46+
journalpostId = any(),
47+
oppgaveId = any(),
48+
)
49+
} returns meldekort
3850

3951
coEvery { brukersMeldekortRepo.hentMeldekortSomIkkeSkalGodkjennesAutomatisk() } returns listOf(meldekort)
4052
coEvery { sakRepo.hentForSakId(any()) } returns mockk(relaxed = true)
53+
coJustRun { brukersMeldekortRepo.oppdater(any()) }
4154

4255
service.opprettOppgaveForMeldekortSomIkkeGodkjennesAutomatisk()
4356

@@ -57,6 +70,7 @@ class OppgaveMeldekortServiceTest {
5770
val meldekort = mockk<BrukersMeldekort>()
5871
every { meldekort.journalpostId } returns null
5972
coEvery { brukersMeldekortRepo.hentMeldekortSomIkkeSkalGodkjennesAutomatisk() } returns listOf(meldekort)
73+
coJustRun { brukersMeldekortRepo.oppdater(any()) }
6074

6175
service.opprettOppgaveForMeldekortSomIkkeGodkjennesAutomatisk()
6276

@@ -85,6 +99,7 @@ class OppgaveMeldekortServiceTest {
8599
val meldekort = (1..20).map { mockk<BrukersMeldekort>(relaxed = true) }
86100
coEvery { brukersMeldekortRepo.hentMeldekortSomIkkeSkalGodkjennesAutomatisk() } returns meldekort
87101
coEvery { sakRepo.hentForSakId(any()) } returns mockk(relaxed = true)
102+
coJustRun { brukersMeldekortRepo.oppdater(any()) }
88103

89104
service.opprettOppgaveForMeldekortSomIkkeGodkjennesAutomatisk()
90105

domene/src/main/kotlin/no/nav/tiltakspenger/meldekort/domene/BrukersMeldekortRepo.kt

+5
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ interface BrukersMeldekortRepo {
1111
sessionContext: SessionContext? = null,
1212
)
1313

14+
fun oppdater(
15+
brukersMeldekort: BrukersMeldekort,
16+
sessionContext: SessionContext? = null,
17+
)
18+
1419
fun hentForSakId(
1520
sakId: SakId,
1621
sessionContext: SessionContext? = null,

domene/src/main/kotlin/no/nav/tiltakspenger/meldekort/service/OppgaveMeldekortService.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@ class OppgaveMeldekortService(
2626
?: log.warn { "Fant ikke sak for sakId ${meldekort.sakId}" }.let { return@forEach }
2727

2828
log.info { "Oppretter oppgave for meldekortId ${meldekort.id}" }
29-
oppgaveGateway.opprettOppgave(sak.fnr, journalpostId, Oppgavebehov.NYTT_MELDEKORT)
29+
val oppgaveId = oppgaveGateway.opprettOppgave(sak.fnr, journalpostId, Oppgavebehov.NYTT_MELDEKORT)
30+
31+
log.info { "Opprettet oppgave med id $oppgaveId for meldekort med id ${meldekort.id}" }
32+
brukersMeldekortRepo.oppdater(meldekort.copy(oppgaveId = oppgaveId))
3033
}
3134
}
3235
}

test-common/src/main/kotlin/no/nav/tiltakspenger/fakes/repos/BrukersMeldekortFakeRepo.kt

+4
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ class BrukersMeldekortFakeRepo(val meldeperiodeFakeRepo: MeldeperiodeFakeRepo) :
2828
)
2929
}
3030

31+
override fun oppdater(brukersMeldekort: BrukersMeldekort, sessionContext: SessionContext?) {
32+
data.get()[brukersMeldekort.id] = brukersMeldekort
33+
}
34+
3135
override fun hentForSakId(sakId: SakId, sessionContext: SessionContext?): List<BrukersMeldekort> {
3236
return data.get().values.filter {
3337
it.sakId == sakId

0 commit comments

Comments
 (0)