Skip to content

Commit

Permalink
Legger til opprettet og endret dato i samarbeid
Browse files Browse the repository at this point in the history
  • Loading branch information
SiLar92 committed Jan 16, 2025
1 parent 33fe822 commit 790036a
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.lydia.ia.eksport

import kotlinx.datetime.LocalDateTime
import kotlinx.serialization.Serializable
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
Expand All @@ -25,12 +26,14 @@ class SamarbeidBigqueryProdusent(

companion object {
fun IAProsess.tilKafkaMelding(): Pair<String, String> {
val key = this.saksnummer
val key = saksnummer
val value = SamarbeidValue(
id = this.id,
saksnummer = this.saksnummer,
navn = this.navn,
status = this.status?.name,
id = id,
saksnummer = saksnummer,
navn = navn,
status = status?.name,
opprettet = opprettet,
sistEndret = sistEndret,
)
return key to Json.encodeToString(value)
}
Expand All @@ -40,6 +43,8 @@ class SamarbeidBigqueryProdusent(
data class SamarbeidValue(
val id: Int,
val saksnummer: String,
val opprettet: LocalDateTime,
val sistEndret: LocalDateTime,
val navn: String? = null,
val status: String? = null,
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.lydia.ia.sak.api.prosess

import kotlinx.datetime.LocalDateTime
import kotlinx.serialization.Serializable
import no.nav.lydia.ia.sak.domene.prosess.IAProsess
import no.nav.lydia.ia.sak.domene.prosess.IAProsessStatus
Expand All @@ -10,6 +11,8 @@ data class IAProsessDto(
val saksnummer: String,
val navn: String? = null,
val status: IAProsessStatus? = null,
val opprettet: LocalDateTime? = null,
val sistEndret: LocalDateTime? = null,
)

fun List<IAProsess>.tilDto() = map { it.tilDto() }
Expand All @@ -20,4 +23,6 @@ fun IAProsess.tilDto() =
saksnummer = saksnummer,
navn = navn,
status = status,
opprettet = opprettet,
sistEndret = sistEndret,
)
9 changes: 5 additions & 4 deletions src/main/kotlin/no/nav/lydia/ia/sak/db/ProsessRepository.kt
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@ class ProsessRepository(
saksnummer = row.string("saksnummer"),
navn = row.stringOrNull("navn"),
status = row.stringOrNull("status")?.let { IAProsessStatus.valueOf(it) },
opprettet = row.localDateTime("opprettet").toKotlinLocalDateTime(),
sistEndret = row.localDateTime("endret_tidspunkt").toKotlinLocalDateTime(),
)

fun oppdaterTilSlettetStatus(prosessHendelse: ProsessHendelse) =
Expand Down Expand Up @@ -156,7 +158,7 @@ class ProsessRepository(
mapOf(
"prosessId" to prosessId,
),
).map (this::mapTilSamarbeidVirksomhetDto).asSingle,
).map(this::mapTilSamarbeidVirksomhetDto).asSingle,
)
}

Expand All @@ -179,8 +181,8 @@ class ProsessRepository(
)
}

private fun mapTilSamarbeidVirksomhetDto(row: Row): SamarbeidIVirksomhetDto {
return SamarbeidIVirksomhetDto(
private fun mapTilSamarbeidVirksomhetDto(row: Row): SamarbeidIVirksomhetDto =
SamarbeidIVirksomhetDto(
orgnr = row.string("orgnr"),
saksnummer = row.string("saksnummer"),
samarbeid = SamarbeidDto(
Expand All @@ -190,5 +192,4 @@ class ProsessRepository(
endretTidspunkt = row.localDateTimeOrNull("endret_tidspunkt")?.toKotlinLocalDateTime(),
),
)
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
package no.nav.lydia.ia.sak.domene.prosess

import kotlinx.datetime.LocalDateTime

data class IAProsess(
val id: Int,
val saksnummer: String,
val navn: String?,
val status: IAProsessStatus?,
val opprettet: LocalDateTime,
val sistEndret: LocalDateTime,
)

enum class IAProsessStatus {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import ia.felles.integrasjoner.kafkameldinger.spørreundersøkelse.Spørreunders
import io.kotest.assertions.shouldFail
import io.kotest.matchers.collections.shouldHaveSize
import io.kotest.matchers.comparables.shouldBeGreaterThan
import io.kotest.matchers.comparables.shouldBeLessThan
import io.kotest.matchers.ints.shouldBeExactly
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe
Expand Down Expand Up @@ -54,6 +55,22 @@ class IASakProsessTest {
}
}

@Test
fun `endring på samarbeid oppdaterer sistEndret`() {
val sak = nySakIKartleggesMedEtSamarbeid()
val samarbeid = sak.hentAlleSamarbeid().first()

sak.nyttNavnPåSamarbeid(samarbeid, "Første")
.nyttNavnPåSamarbeid(samarbeid, "Andre")
.nyttNavnPåSamarbeid(samarbeid, "Tredje")

val samarbeidMedNyttNavn = sak.hentAlleSamarbeid().first()

samarbeidMedNyttNavn.navn shouldBe "Tredje"
samarbeid.opprettet shouldBe samarbeidMedNyttNavn.opprettet
samarbeid.sistEndret!! shouldBeLessThan samarbeidMedNyttNavn.sistEndret!!
}

@Test
fun `tomme samarbeidsnavn skal lagres som NULL i databasen`() {
val sak = nySakIKartleggesMedEtSamarbeid(
Expand Down

0 comments on commit 790036a

Please sign in to comment.