Skip to content

Commit

Permalink
IS-2460: Tatt i bruk nytt endepunkt for å hente aktive oppfølgingsopp…
Browse files Browse the repository at this point in the history
…gaver
  • Loading branch information
mariusfoss committed Dec 6, 2024
1 parent c62e508 commit 4dd1785
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.syfo.personstatus.application.oppfolgingsoppgave

import no.nav.syfo.personstatus.domain.PersonIdent
import java.time.LocalDate
import java.time.LocalDateTime

Expand All @@ -19,4 +20,43 @@ data class OppfolgingsoppgaveDTO(
val tekst: String?,
val oppfolgingsgrunn: String,
val frist: LocalDate?,
){
companion object {
fun fromOppfolgingsoppgaveNewDTO(oppfolgingsoppgaveNewDTO: OppfolgingsoppgaveNewDTO): OppfolgingsoppgaveDTO =
OppfolgingsoppgaveDTO(
uuid = oppfolgingsoppgaveNewDTO.uuid,
updatedAt = oppfolgingsoppgaveNewDTO.updatedAt,
createdAt = oppfolgingsoppgaveNewDTO.createdAt,
createdBy = oppfolgingsoppgaveNewDTO.sisteVersjon().createdBy,
tekst = oppfolgingsoppgaveNewDTO.sisteVersjon().tekst,
oppfolgingsgrunn = oppfolgingsoppgaveNewDTO.sisteVersjon().oppfolgingsgrunn,
frist = oppfolgingsoppgaveNewDTO.sisteVersjon().frist
)
}
}

data class OppfolgingsoppgaverNewResponseDTO(
val oppfolgingsoppgaver: Map<String, OppfolgingsoppgaveNewDTO>
)

data class OppfolgingsoppgaveNewDTO(
val uuid: String,
val personIdent: PersonIdent,
val createdAt: LocalDateTime,
val updatedAt: LocalDateTime,
val isActive: Boolean,
val publishedAt: LocalDateTime?,
val removedBy: String?,
val versjoner: List<OppfolgingoppgaveVersjonDTO>
) {
fun sisteVersjon() = versjoner.first()
}

data class OppfolgingoppgaveVersjonDTO(
val uuid: String,
val createdBy: String,
val createdAt: LocalDateTime,
val tekst: String?,
val oppfolgingsgrunn: String,
val frist: LocalDate?,
)
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,8 @@ import io.ktor.client.request.*
import io.ktor.client.statement.*
import io.ktor.http.*
import net.logstash.logback.argument.StructuredArguments
import no.nav.syfo.personstatus.application.oppfolgingsoppgave.*
import no.nav.syfo.personstatus.domain.PersonIdent
import no.nav.syfo.personstatus.application.oppfolgingsoppgave.IOppfolgingsoppgaveClient
import no.nav.syfo.personstatus.application.oppfolgingsoppgave.OppfolgingsoppgaverRequestDTO
import no.nav.syfo.personstatus.application.oppfolgingsoppgave.OppfolgingsoppgaverResponseDTO
import no.nav.syfo.personstatus.infrastructure.clients.ClientEnvironment
import no.nav.syfo.personstatus.infrastructure.clients.azuread.AzureAdClient
import no.nav.syfo.personstatus.infrastructure.clients.httpClientDefault
Expand Down Expand Up @@ -48,12 +46,18 @@ class OppfolgingsoppgaveClient(
setBody(requestDTO)
}
when (response.status) {
HttpStatusCode.OK -> response.body<OppfolgingsoppgaverResponseDTO>()
HttpStatusCode.OK -> {
val responseDTO = response.body<OppfolgingsoppgaverNewResponseDTO>()
responseDTO.oppfolgingsoppgaver
.mapValues { OppfolgingsoppgaveDTO.fromOppfolgingsoppgaveNewDTO(it.value) }
.run { OppfolgingsoppgaverResponseDTO(this) }
}
HttpStatusCode.NoContent -> null
HttpStatusCode.NotFound -> {
log.error("Resource not found")
null
}

else -> {
log.error("Unhandled status code: ${response.status}")
null
Expand All @@ -70,7 +74,7 @@ class OppfolgingsoppgaveClient(
}

companion object {
const val GET_OPPFOLGINGSOPPGAVER_API_PATH = "/api/internad/v1/huskelapp/get-oppfolgingsoppgaver"
const val GET_OPPFOLGINGSOPPGAVER_API_PATH = "/api/internad/v1/huskelapp/get-oppfolgingsoppgaver-new"

private val log = LoggerFactory.getLogger(OppfolgingsoppgaveClient::class.java)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -683,6 +683,8 @@ object PersonoversiktStatusApiV2Spek : Spek({
personOversiktStatus.enhet shouldBeEqualTo behandlendeEnhetDTO().enhetId
personOversiktStatus.oppfolgingsoppgave shouldNotBe null
personOversiktStatus.oppfolgingsoppgave?.oppfolgingsgrunn shouldBeEqualTo "FOLG_OPP_ETTER_NESTE_SYKMELDING"
personOversiktStatus.oppfolgingsoppgave?.tekst shouldBeEqualTo "En tekst"
personOversiktStatus.oppfolgingsoppgave?.frist shouldNotBe null
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ package no.nav.syfo.testutil.mock

import io.ktor.client.engine.mock.*
import io.ktor.client.request.*
import no.nav.syfo.personstatus.application.oppfolgingsoppgave.OppfolgingsoppgaveDTO
import no.nav.syfo.personstatus.application.oppfolgingsoppgave.OppfolgingsoppgaverResponseDTO
import no.nav.syfo.personstatus.application.oppfolgingsoppgave.*
import no.nav.syfo.personstatus.domain.PersonIdent
import no.nav.syfo.testutil.UserConstants.ARBEIDSTAKER_2_FNR
import no.nav.syfo.testutil.UserConstants.ARBEIDSTAKER_3_FNR
import no.nav.syfo.testutil.UserConstants.ARBEIDSTAKER_FNR
Expand All @@ -15,7 +15,7 @@ import java.util.*
fun MockRequestHandleScope.oppfolgingsoppgaveMockResponse(): HttpResponseData =
respondOk(oppfolgingsoppgaverResponseDTO)

private val oppfolgingsoppgaverResponseDTO = OppfolgingsoppgaverResponseDTO(
private val oppfolgingsoppgaverResponseDTO = OppfolgingsoppgaverNewResponseDTO(
oppfolgingsoppgaver = mapOf(
ARBEIDSTAKER_FNR to generateOppfolgingsoppgave("FOLG_OPP_ETTER_NESTE_SYKMELDING"),
ARBEIDSTAKER_2_FNR to generateOppfolgingsoppgave("VURDER_ANNEN_YTELSE"),
Expand All @@ -25,12 +25,22 @@ private val oppfolgingsoppgaverResponseDTO = OppfolgingsoppgaverResponseDTO(

private fun generateOppfolgingsoppgave(
oppfolgingsgrunn: String,
): OppfolgingsoppgaveDTO = OppfolgingsoppgaveDTO(
): OppfolgingsoppgaveNewDTO = OppfolgingsoppgaveNewDTO(
uuid = UUID.randomUUID().toString(),
createdBy = VEILEDER_ID,
updatedAt = LocalDateTime.now(),
createdAt = LocalDateTime.now(),
tekst = "En tekst",
oppfolgingsgrunn = oppfolgingsgrunn,
frist = LocalDate.now().plusDays(14),
isActive = true,
personIdent = PersonIdent(ARBEIDSTAKER_FNR),
publishedAt = null,
removedBy = null,
versjoner = listOf(
OppfolgingoppgaveVersjonDTO(
uuid = UUID.randomUUID().toString(),
createdAt = LocalDateTime.now(),
createdBy = VEILEDER_ID,
tekst = "En tekst",
oppfolgingsgrunn = oppfolgingsgrunn,
frist = LocalDate.now().plusDays(14),
)
),
)

0 comments on commit 4dd1785

Please sign in to comment.