Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix_feil_type_for_aktivitetskort_beskrivelse #63

Merged
merged 1 commit into from
Sep 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,6 @@ data class Ident(
val ident: String
)

data class Beskrivelse(
val label: String? = null,
val verdi: String
)

data class Attributt(
val label: String,
val verdi: String
Expand All @@ -32,7 +27,7 @@ data class Aktivitetskort(
val etiketter: List<Etikett>,
val startDato: LocalDate?,
val sluttDato: LocalDate?,
val beskrivelse: Beskrivelse?, // alle, men annen oppførsel på tiltak(jobbklubb)
val beskrivelse: String?, // alle, men annen oppførsel på tiltak(jobbklubb)
val endretAv: Ident,
val endretTidspunkt: LocalDateTime,
val avtaltMedNav: Boolean,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ object ArenaDeltakerConverter {
etiketter = listOfNotNull(
toDeltakelseStatus(deltaker.deltakerStatusKode)
?.let { deltakelseStatus -> Etikett(deltakelseStatus.toString()) }),
beskrivelse = if (tiltak.kode == JOBBKLUBB) Beskrivelse(verdi = gjennomforingNavn) else null,
beskrivelse = if (tiltak.kode == JOBBKLUBB) gjennomforingNavn else null,
endretTidspunkt = if (erNyAktivitet) deltaker.regDato else deltaker.modDato ?: throw IllegalArgumentException("Missing modDato"),
endretAv = if (erNyAktivitet) Ident(ident = deltaker.regUser ?: throw IllegalArgumentException("Missing regUser"))
else Ident(ident = deltaker.modUser ?: throw IllegalArgumentException("Missing modUser")),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import no.nav.arena_tiltak_aktivitet_acl.processors.DeltakerProcessor
import no.nav.arena_tiltak_aktivitet_acl.processors.converters.ArenaDeltakerConverter.AMO
import no.nav.arena_tiltak_aktivitet_acl.processors.converters.ArenaDeltakerConverter.ENKELAMO
import no.nav.arena_tiltak_aktivitet_acl.processors.converters.ArenaDeltakerConverter.GRUPPEAMO
import no.nav.arena_tiltak_aktivitet_acl.processors.converters.ArenaDeltakerConverter.JOBBKLUBB
import no.nav.arena_tiltak_aktivitet_acl.repositories.AktivitetRepository
import no.nav.arena_tiltak_aktivitet_acl.repositories.ArenaDataRepository
import no.nav.arena_tiltak_aktivitet_acl.repositories.TiltakDbo
Expand Down Expand Up @@ -51,7 +52,7 @@ class DeltakerIntegrationTests : IntegrationTestBase() {
@Autowired
lateinit var translationRepository: TranslationRepository

data class TestData (
data class TestData(
val gjennomforingId: Long = Random().nextLong(),
val deltakerId: Long = Random().nextLong(),
val gjennomforingInput: GjennomforingInput = GjennomforingInput(gjennomforingId = gjennomforingId),
Expand All @@ -62,7 +63,7 @@ class DeltakerIntegrationTests : IntegrationTestBase() {
val tiltak = tiltakExecutor.execute(NyttTiltakCommand())
.arenaData { it.ingestStatus shouldBe IngestStatus.HANDLED }.tiltak
return TestData(tiltak = tiltak)
.also {testData ->
.also { testData ->
gjennomforingExecutor.execute(NyGjennomforingCommand(testData.gjennomforingInput))
.arenaData { it.ingestStatus shouldBe IngestStatus.HANDLED }
}
Expand Down Expand Up @@ -96,7 +97,7 @@ class DeltakerIntegrationTests : IntegrationTestBase() {

val token = issueAzureAdM2MToken()
val client = IdMappingClient(port!!) { token }
client.hentMapping(TranslationQuery(deltakerInput.tiltakDeltakerId, AktivitetKategori.TILTAKSAKTIVITET) )
client.hentMapping(TranslationQuery(deltakerInput.tiltakDeltakerId, AktivitetKategori.TILTAKSAKTIVITET))
.let { (response, result) ->
response.isSuccessful shouldBe true
result shouldBe aktivitetId
Expand All @@ -114,7 +115,7 @@ class DeltakerIntegrationTests : IntegrationTestBase() {
@Test
fun `skal kreve token`() {
val client = IdMappingClient(port!!) { "" }
val (response, _) = client.hentMapping(TranslationQuery(11221, AktivitetKategori.TILTAKSAKTIVITET) )
val (response, _) = client.hentMapping(TranslationQuery(11221, AktivitetKategori.TILTAKSAKTIVITET))
response.code shouldBe HttpStatus.UNAUTHORIZED.value()
}

Expand Down Expand Up @@ -234,8 +235,9 @@ class DeltakerIntegrationTests : IntegrationTestBase() {
val arenaData = plandlagtCommandResult.arenaDataDbo

// Fail first message after 10 retries
(1..10).forEach{ processMessages() }
val resultDbo = arenaDataRepository.get(arenaData.arenaTableName, arenaData.operation, arenaData.operationPosition)
(1..10).forEach { processMessages() }
val resultDbo =
arenaDataRepository.get(arenaData.arenaTableName, arenaData.operation, arenaData.operationPosition)
resultDbo.ingestStatus shouldBe IngestStatus.FAILED

val gjennomforingCommand = NyDeltakerCommand(deltakerInput.copy(deltakerStatusKode = "GJENN"))
Expand Down Expand Up @@ -266,9 +268,10 @@ class DeltakerIntegrationTests : IntegrationTestBase() {
gjennomforingAktivitet.aktivitetStatus shouldBe AktivitetStatus.GJENNOMFORES

processMessages()
val fullfortAktivitet= aktivitetRepository.getAktivitet(aktivitetId)!!.data.toAktivitetskort()
val fullfortAktivitet = aktivitetRepository.getAktivitet(aktivitetId)!!.data.toAktivitetskort()
fullfortAktivitet.aktivitetStatus shouldBe AktivitetStatus.FULLFORT
}

@Test
fun `ingest existing deltaker`() {
val (gjennomforingId, deltakerId, gjennomforingInput, tiltak) = setup()
Expand Down Expand Up @@ -296,7 +299,7 @@ class DeltakerIntegrationTests : IntegrationTestBase() {
result.expectHandled { r ->
r.output { it.actionType shouldBe ActionType.UPSERT_AKTIVITETSKORT_V1 }
r.translation!!.aktivitetId shouldBe r.output.aktivitetskort.id
r.aktivitetskort { it.isSame(deltakerInput, tiltak, gjennomforingInput ) }
r.aktivitetskort { it.isSame(deltakerInput, tiltak, gjennomforingInput) }
}

updatedResult.expectHandled { r ->
Expand Down Expand Up @@ -358,7 +361,8 @@ class DeltakerIntegrationTests : IntegrationTestBase() {
fun `tittel should be prefixed for some tiltakskoder`(tiltaksKode: String) {
val gjennomforingId: Long = Random().nextLong()
val deltakerId: Long = Random().nextLong()
val gjennomforingInput = GjennomforingInput(gjennomforingId = gjennomforingId, tiltakKode = tiltaksKode, navn = "Klubbmøte")
val gjennomforingInput =
GjennomforingInput(gjennomforingId = gjennomforingId, tiltakKode = tiltaksKode, navn = "Klubbmøte")
val tiltak = tiltakExecutor.execute(NyttTiltakCommand(kode = tiltaksKode))
.let { result ->
result.arenaData { it.ingestStatus shouldBe IngestStatus.HANDLED }
Expand All @@ -384,6 +388,37 @@ class DeltakerIntegrationTests : IntegrationTestBase() {
}
}

@Test
fun `beskrivelse should be gjennomforingsnavn for tiltakstype JOBBKLUBB`() {
val gjennomforingId: Long = Random().nextLong()
val deltakerId: Long = Random().nextLong()
val gjennomforingInput =
GjennomforingInput(gjennomforingId = gjennomforingId, tiltakKode = JOBBKLUBB, navn = "Klubbmøte")
val tiltak = tiltakExecutor.execute(NyttTiltakCommand(kode = JOBBKLUBB))
.let { result ->
result.arenaData { it.ingestStatus shouldBe IngestStatus.HANDLED }
result.tiltak
}
gjennomforingExecutor.execute(NyGjennomforingCommand(gjennomforingInput))
.arenaData { it.ingestStatus shouldBe IngestStatus.HANDLED }

val deltakerInput = DeltakerInput(
tiltakDeltakerId = deltakerId,
tiltakgjennomforingId = gjennomforingId,
innsokBegrunnelse = "innsøkbegrunnelse",
endretAv = Ident(ident = "SIG123"),
registrertDato = OppfolgingClientMock.defaultOppfolgingsperioder.last().startDato.toLocalDateTime()
)

val deltakerCommand = NyDeltakerCommand(deltakerInput)
val result = deltakerExecutor.execute(deltakerCommand)

result.expectHandled { result ->
result.output.actionType shouldBe ActionType.UPSERT_AKTIVITETSKORT_V1
result.output.aktivitetskort.beskrivelse shouldBe gjennomforingInput.navn
}
}

@Test
fun `nye aktiviteter uten oppfolgingsperioder som er opprettet for mindre enn en uke siden skal få ingeststatus RETRY`() {
val (gjennomforingId, deltakerId) = setup()
Expand Down