Skip to content

Commit

Permalink
Merge pull request #4657 from navikt/refactor/avbryt-gjennomforing
Browse files Browse the repository at this point in the history
tillat avbryt gjennomføring med aktive tilsagn
  • Loading branch information
sondrele authored Nov 21, 2024
2 parents 3e27ddf + c2240ac commit 0e936b9
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 61 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import no.nav.mulighetsrommet.api.routes.v1.EksternTiltaksgjennomforingFilter
import no.nav.mulighetsrommet.api.services.DocumentClass
import no.nav.mulighetsrommet.api.services.EndretAv
import no.nav.mulighetsrommet.api.services.EndringshistorikkService
import no.nav.mulighetsrommet.api.tilsagn.db.TilsagnRepository
import no.nav.mulighetsrommet.database.Database
import no.nav.mulighetsrommet.database.utils.Pagination
import no.nav.mulighetsrommet.domain.Tiltakskoder.isForhaandsgodkjentTiltak
Expand All @@ -39,7 +38,6 @@ import java.util.*
class TiltaksgjennomforingService(
private val avtaler: AvtaleRepository,
private val tiltaksgjennomforinger: TiltaksgjennomforingRepository,
private val tilsagn: TilsagnRepository,
private val tiltaksgjennomforingKafkaProducer: SisteTiltaksgjennomforingerV1KafkaProducer,
private val notificationRepository: NotificationRepository,
private val validator: TiltaksgjennomforingValidator,
Expand Down Expand Up @@ -211,12 +209,6 @@ class TiltaksgjennomforingService(
return Either.Left(BadRequest(message = "Gjennomføringen er allerede avsluttet og kan derfor ikke avbrytes."))
}

val aktiveTilsagn = tilsagn.getByGjennomforingId(gjennomforing.id)
.filter { it.annullertTidspunkt == null }
if (aktiveTilsagn.isNotEmpty()) {
return Either.Left(BadRequest(message = "Gjennomføringen har aktive tilsagn"))
}

db.transaction { tx ->
tiltaksgjennomforinger.avbryt(tx, id, LocalDateTime.now(), aarsak)
val dto = getOrError(id, tx)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,6 @@ private fun services(appConfig: AppConfig) = module {
get(),
get(),
get(),
get(),
)
}
single { TiltakstypeService(get()) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,23 @@ import io.kotest.matchers.shouldNotBe
import io.mockk.*
import no.nav.mulighetsrommet.api.avtale.db.AvtaleRepository
import no.nav.mulighetsrommet.api.databaseConfig
import no.nav.mulighetsrommet.api.fixtures.*
import no.nav.mulighetsrommet.api.fixtures.AvtaleFixtures
import no.nav.mulighetsrommet.api.fixtures.MulighetsrommetTestDomain
import no.nav.mulighetsrommet.api.fixtures.TiltaksgjennomforingFixtures
import no.nav.mulighetsrommet.api.fixtures.TiltakstypeFixtures
import no.nav.mulighetsrommet.api.gjennomforing.db.TiltaksgjennomforingDbo
import no.nav.mulighetsrommet.api.gjennomforing.db.TiltaksgjennomforingRepository
import no.nav.mulighetsrommet.api.gjennomforing.kafka.SisteTiltaksgjennomforingerV1KafkaProducer
import no.nav.mulighetsrommet.api.navansatt.NavAnsattService
import no.nav.mulighetsrommet.api.navansatt.db.NavAnsattDbo
import no.nav.mulighetsrommet.api.navansatt.db.NavAnsattRepository
import no.nav.mulighetsrommet.api.okonomi.Prismodell
import no.nav.mulighetsrommet.api.responses.BadRequest
import no.nav.mulighetsrommet.api.responses.NotFound
import no.nav.mulighetsrommet.api.responses.ValidationError
import no.nav.mulighetsrommet.api.services.EndringshistorikkService
import no.nav.mulighetsrommet.api.tilsagn.db.TilsagnRepository
import no.nav.mulighetsrommet.api.tilsagn.model.TilsagnDto
import no.nav.mulighetsrommet.api.tilsagn.model.TilsagnDto.Arrangor
import no.nav.mulighetsrommet.database.kotest.extensions.FlywayDatabaseTestListener
import no.nav.mulighetsrommet.database.kotest.extensions.truncateAll
import no.nav.mulighetsrommet.domain.dto.AvbruttAarsak
import no.nav.mulighetsrommet.domain.dto.NavIdent
import no.nav.mulighetsrommet.domain.dto.Organisasjonsnummer
import no.nav.mulighetsrommet.domain.dto.TiltaksgjennomforingStatus
import no.nav.mulighetsrommet.notifications.NotificationRepository
import java.time.LocalDate
Expand All @@ -42,7 +39,6 @@ class TiltaksgjennomforingServiceTest : FunSpec({

val tiltaksgjennomforingKafkaProducer: SisteTiltaksgjennomforingerV1KafkaProducer = mockk(relaxed = true)
val navAnsattService: NavAnsattService = mockk(relaxed = true)
val tilsagnRepository: TilsagnRepository = mockk(relaxed = true)
val validator = mockk<TiltaksgjennomforingValidator>()
val avtaleId = AvtaleFixtures.oppfolging.id
val domain = MulighetsrommetTestDomain()
Expand All @@ -68,7 +64,6 @@ class TiltaksgjennomforingServiceTest : FunSpec({
val tiltaksgjennomforingService = TiltaksgjennomforingService(
avtaler,
tiltaksgjennomforingRepository,
tilsagnRepository,
tiltaksgjennomforingKafkaProducer,
NotificationRepository(database.db),
validator,
Expand All @@ -87,44 +82,6 @@ class TiltaksgjennomforingServiceTest : FunSpec({
)
}

test("Man skal ikke få avbryte dersom gjennomføringen har aktive tilsagn") {
val gjennomforing = TiltaksgjennomforingFixtures.AFT1.copy(
startDato = LocalDate.now(),
avtaleId = avtaleId,
)
tiltaksgjennomforingRepository.upsert(gjennomforing)
every { tilsagnRepository.getByGjennomforingId(any()) } returns listOf(
TilsagnDto(
id = UUID.randomUUID(),
tiltaksgjennomforing = TilsagnDto.Tiltaksgjennomforing(
id = TiltaksgjennomforingFixtures.AFT1.id,
antallPlasser = TiltaksgjennomforingFixtures.AFT1.antallPlasser,
),
periodeStart = LocalDate.now(),
periodeSlutt = LocalDate.now().plusDays(1),
opprettetAv = NavIdent("Z123123"),
kostnadssted = NavEnhetFixtures.Oslo,
beregning = Prismodell.TilsagnBeregning.Fri(123),
annullertTidspunkt = null,
lopenummer = 1,
arrangor = Arrangor(
id = UUID.randomUUID(),
organisasjonsnummer = Organisasjonsnummer("123456789"),
navn = "navn",
slettet = false,
),
besluttelse = null,
),
)
tiltaksgjennomforingService.avbrytGjennomforing(
TiltaksgjennomforingFixtures.AFT1.id,
bertilNavIdent,
AvbruttAarsak.Feilregistrering,
).shouldBeLeft(
BadRequest(message = "Gjennomføringen har aktive tilsagn"),
)
}

test("Skal få avbryte tiltaksgjennomføring hvis alle sjekkene er ok") {
val gjennomforing = TiltaksgjennomforingFixtures.Oppfolging1.copy(
avtaleId = avtaleId,
Expand All @@ -148,7 +105,6 @@ class TiltaksgjennomforingServiceTest : FunSpec({
val tiltaksgjennomforingService = TiltaksgjennomforingService(
avtaler,
tiltaksgjennomforingRepository,
tilsagnRepository,
tiltaksgjennomforingKafkaProducer,
NotificationRepository(database.db),
validator,
Expand Down Expand Up @@ -179,7 +135,6 @@ class TiltaksgjennomforingServiceTest : FunSpec({
val tiltaksgjennomforingService = TiltaksgjennomforingService(
avtaler,
tiltaksgjennomforingRepository,
tilsagnRepository,
tiltaksgjennomforingKafkaProducer,
NotificationRepository(database.db),
validator,
Expand Down Expand Up @@ -295,7 +250,6 @@ class TiltaksgjennomforingServiceTest : FunSpec({
val tiltaksgjennomforingService = TiltaksgjennomforingService(
avtaler,
tiltaksgjennomforingRepository,
tilsagnRepository,
tiltaksgjennomforingKafkaProducer,
notificationRepository,
validator,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import no.nav.mulighetsrommet.api.gjennomforing.db.TiltaksgjennomforingRepositor
import no.nav.mulighetsrommet.api.gjennomforing.kafka.SisteTiltaksgjennomforingerV1KafkaProducer
import no.nav.mulighetsrommet.api.navansatt.NavAnsattService
import no.nav.mulighetsrommet.api.services.EndringshistorikkService
import no.nav.mulighetsrommet.api.tilsagn.db.TilsagnRepository
import no.nav.mulighetsrommet.database.kotest.extensions.FlywayDatabaseTestListener
import no.nav.mulighetsrommet.domain.dbo.TiltaksgjennomforingOppstartstype
import no.nav.mulighetsrommet.notifications.NotificationRepository
Expand Down Expand Up @@ -54,7 +53,6 @@ class UpdateApentForPameldingTest : FunSpec({
val service = TiltaksgjennomforingService(
AvtaleRepository(database.db),
gjennomforinger,
TilsagnRepository(database.db),
mockk<SisteTiltaksgjennomforingerV1KafkaProducer>(relaxed = true),
NotificationRepository(database.db),
mockk<TiltaksgjennomforingValidator>(),
Expand Down

0 comments on commit 0e936b9

Please sign in to comment.