Skip to content

Commit

Permalink
Opprett metadata på tasker, og gjør kommuneOrgNr og leverandørOrgNr n…
Browse files Browse the repository at this point in the history
…ot null
  • Loading branch information
schmelita committed Jan 29, 2025
1 parent 1104307 commit 56b1496
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ data class Barnehageliste(
val id: UUID,
val rawJson: FormV1RequestDto,
val status: BarnehagelisteStatus,
val leverandorOrgNr: String,
val kommuneOrgNr: String,
val opprettetTid: LocalDateTime = LocalDateTime.now(),
val ferdigTid: LocalDateTime? = null,
val leverandorOrgNr: String? = null,
val kommuneOrgNr: String? = null,
) {
override fun toString(): String =
"Barnehageliste(id=$id, status=$status, opprettetTid=$opprettetTid, ferdigTid=$ferdigTid, leverandorOrgNr=$leverandorOrgNr, kommuneOrgNr=$kommuneOrgNr)"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.familie.ks.barnehagelister.repository

import no.nav.familie.ks.barnehagelister.domene.Barnehageliste
import org.springframework.data.jdbc.repository.query.Query
import org.springframework.stereotype.Repository
import org.springframework.transaction.annotation.Transactional
import java.util.UUID
Expand All @@ -11,4 +12,6 @@ interface BarnehagelisteRepository :
RepositoryInterface<Barnehageliste, UUID>,
InsertUpdateRepository<Barnehageliste> {
// language=PostgreSQL
@Query(value = "SELECT b FROM Barnehageliste WHERE b.id = :id")
fun finnById(id: UUID): Barnehageliste
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,12 @@ class BarnehagelisteService(
),
)

val opprettetTask = PeriodeOverlappValideringTask.opprettTask(skjemaV1.id.toString())
val opprettetTask =
PeriodeOverlappValideringTask.opprettTask(
barnehagelisteId = skjemaV1.id.toString(),
leverandørOrgNr = leverandørOrgNr,
kommuneOrgNr = kommuneOrgNr,
)
taskService.save(opprettetTask)

return BarnehagelisteMedValideringsfeil(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,19 @@ class LesBarnehagelisteTask(
const val TASK_STEP_TYPE = "lesBarnehagelisteTask"
private val logger: Logger = LoggerFactory.getLogger(LesBarnehagelisteTask::class.java)

fun opprettTask(barnehagelisteId: UUID): Task =
fun opprettTask(
barnehagelisteId: UUID,
leverandørOrgNr: String,
kommuneOrgNr: String,
): Task =
Task(
type = TASK_STEP_TYPE,
payload = barnehagelisteId.toString(),
properties =
Properties().apply {
this["barnehagelisteId"] = barnehagelisteId.toString()
this["leverandørOrgNr"] = leverandørOrgNr
this["kommuneOrgNr"] = kommuneOrgNr
},
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,19 +63,29 @@ class PeriodeOverlappValideringTask(
}

override fun onCompletion(task: Task) {
LesBarnehagelisteTask.opprettTask(UUID.fromString(task.payload)).also { taskService.save(it) }
val barnehagelisteId = UUID.fromString(task.payload)
val barnehageliste = barnehagelisteRepository.finnById(barnehagelisteId)
LesBarnehagelisteTask.opprettTask(UUID.fromString(task.payload), barnehageliste.leverandorOrgNr, barnehageliste.kommuneOrgNr).also {
taskService.save(it)
}
}

companion object {
const val TASK_STEP_TYPE = "periodeOverlappValideringTask"

fun opprettTask(barnehagelisteId: String): Task =
fun opprettTask(
barnehagelisteId: String,
leverandørOrgNr: String,
kommuneOrgNr: String,
): Task =
Task(
type = TASK_STEP_TYPE,
payload = barnehagelisteId,
properties =
Properties().apply {
this["barnehagelisteId"] = barnehagelisteId
this["kommuneOrgNr"] = kommuneOrgNr
this["leverandørOrgNr"] = leverandørOrgNr
},
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
ALTER TABLE barnehageliste
ALTER COLUMN kommune_org_nr DROP NOT NULL;

ALTER TABLE barnehageliste
ALTER COLUMN leverandor_org_nr DROP NOT NULL;
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ class BarnehagelisteServiceTest {
id = uuid,
rawJson = eksisterendeRequest,
status = BarnehagelisteStatus.MOTTATT,
leverandorOrgNr = "123456789",
kommuneOrgNr = "123456789",
)

every { mockBarnehagelisteRepository.findByIdOrNull(uuid) } returns lagretBarnehageliste
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,16 @@ class LesBarnehagelisteTaskTest {
id = barnehagelisteId,
rawJson = FormV1RequestDtoTestData.lagRequest(),
status = BarnehagelisteStatus.MOTTATT,
leverandorOrgNr = "123456789",
kommuneOrgNr = "123456789",
)
val mockTask = Task("", "")

every { barnehagelisteService.hentBarnehageliste(barnehagelisteId) } returns mockBarnehageliste
every { barnehagelisteService.settBarnehagelisteStatusTilFerdig(mockBarnehageliste) } just runs
every { taskService.save(any()) } returns mockTask

val task = LesBarnehagelisteTask.opprettTask(barnehagelisteId)
val task = LesBarnehagelisteTask.opprettTask(barnehagelisteId, "leverandørOrgNr", "kommuneOrgNr")

// Act
lesBarnehagelisteTask.doTask(task)
Expand All @@ -70,11 +72,13 @@ class LesBarnehagelisteTaskTest {
id = barnehagelisteId,
rawJson = FormV1RequestDtoTestData.lagRequest(),
status = BarnehagelisteStatus.FERDIG,
leverandorOrgNr = "123456789",
kommuneOrgNr = "123456789",
)

every { barnehagelisteService.hentBarnehageliste(barnehagelisteId) } returns mockBarnehageliste

val task = LesBarnehagelisteTask.opprettTask(barnehagelisteId)
val task = LesBarnehagelisteTask.opprettTask(barnehagelisteId, "leverandørOrgNr", "kommuneOrgNr")

// Act
lesBarnehagelisteTask.doTask(task)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,18 @@ class PeriodeOverlappValideringTaskTest {
id = barnehagelisteId,
rawJson = FormV1RequestDtoTestData.lagRequest(),
status = BarnehagelisteStatus.MOTTATT,
leverandorOrgNr = "123456789",
kommuneOrgNr = "123456789",
)
every { mockBarnehagelisteRepository.findByIdOrNull(barnehagelisteId) } returns barnehageliste
// Act
periodeOverlappValideringTask.doTask(PeriodeOverlappValideringTask.opprettTask(barnehagelisteId.toString()))
periodeOverlappValideringTask.doTask(
PeriodeOverlappValideringTask.opprettTask(
barnehagelisteId.toString(),
leverandørOrgNr = "leverandør",
kommuneOrgNr = "Kommune",
),
)

// Assert
verify(exactly = 0) { mockBarnehagelisteValideringsfeilRepository.insertAll(any()) }
Expand Down Expand Up @@ -78,14 +86,22 @@ class PeriodeOverlappValideringTaskTest {
id = barnehagelisteId,
rawJson = skjema,
status = BarnehagelisteStatus.MOTTATT,
leverandorOrgNr = "123456789",
kommuneOrgNr = "123456789",
)
every { mockBarnehagelisteRepository.findByIdOrNull(barnehagelisteId) } returns barnehageliste

val slot = slot<List<BarnehagelisteValideringsfeil>>()
every { mockBarnehagelisteValideringsfeilRepository.insertAll(capture(slot)) } answers { slot.captured }

// Act
periodeOverlappValideringTask.doTask(PeriodeOverlappValideringTask.opprettTask(barnehagelisteId.toString()))
periodeOverlappValideringTask.doTask(
PeriodeOverlappValideringTask.opprettTask(
barnehagelisteId.toString(),
leverandørOrgNr = "leverandør",
kommuneOrgNr = "Kommune",
),
)

// Assert
verify(exactly = 1) { mockBarnehagelisteValideringsfeilRepository.insertAll(any()) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ class SendBarnehagebarnTilKsTaskTest {
id = barnehagelisteId,
rawJson = FormV1RequestDtoTestData.lagRequest(),
status = BarnehagelisteStatus.FERDIG,
leverandorOrgNr = "123456789",
kommuneOrgNr = "123456789",
)

val mockBarnehagebarn =
Expand All @@ -72,6 +74,8 @@ class SendBarnehagebarnTilKsTaskTest {
id = barnehagelisteId,
rawJson = FormV1RequestDtoTestData.lagRequest(),
status = BarnehagelisteStatus.MOTTATT,
leverandorOrgNr = "123456789",
kommuneOrgNr = "123456789",
)

val mockBarnehagebarn =
Expand Down

0 comments on commit 56b1496

Please sign in to comment.