diff --git a/web/src/main/java/no/nav/foreldrepenger/abakus/kobling/KoblingRestTjeneste.java b/web/src/main/java/no/nav/foreldrepenger/abakus/kobling/KoblingRestTjeneste.java index 2d8cc4e38..ff548ef48 100644 --- a/web/src/main/java/no/nav/foreldrepenger/abakus/kobling/KoblingRestTjeneste.java +++ b/web/src/main/java/no/nav/foreldrepenger/abakus/kobling/KoblingRestTjeneste.java @@ -75,9 +75,14 @@ public Response deaktiverKobling(@Valid @NotNull KoblingRestTjeneste.AvsluttKobl if (koblingOptional.isPresent()) { var kobling = koblingOptional.get(); - validerRequest(request, kobling); - avsluttKoblingTjeneste.avsluttKobling(kobling.getKoblingReferanse(), request.getYtelseType()); - return Response.ok().build(); + if (kobling.erAktiv()) { + validerRequest(request, kobling); + avsluttKoblingTjeneste.avsluttKobling(kobling.getKoblingReferanse(), request.getYtelseType()); + return Response.ok().build(); + } else { + LOG.info("KOBLING. Kobling er allerede avsluttet for referanse: {}", request.getReferanse()); + return Response.noContent().build(); + } } else { LOG.info("KOBLING. Fant ikke kobling for referanse: {}", request.getReferanse()); return Response.noContent().build(); diff --git a/web/src/test/java/no/nav/foreldrepenger/abakus/kobling/KoblingRestTjenesteTest.java b/web/src/test/java/no/nav/foreldrepenger/abakus/kobling/KoblingRestTjenesteTest.java index 45336e161..c0902ea7b 100644 --- a/web/src/test/java/no/nav/foreldrepenger/abakus/kobling/KoblingRestTjenesteTest.java +++ b/web/src/test/java/no/nav/foreldrepenger/abakus/kobling/KoblingRestTjenesteTest.java @@ -57,6 +57,27 @@ void sletting_av_kobling_ok() { verify(avsluttKobling).avsluttKobling(referanse, ytelseType); } + @Test + void sletting_av_kobling_allerede_deaktivert_ok() { + var referanse = new KoblingReferanse(UUID.randomUUID()); + var saksnummer = "23234234"; + var aktørId = AktørId.dummy(); + var ytelseType = YtelseType.FORELDREPENGER; + + var kobling = opprettKobling(saksnummer, aktørId, ytelseType, referanse); + kobling.setAktiv(false); + when(koblingTjeneste.hentFor(referanse)).thenReturn(Optional.of(kobling)); + + // Act + var request = new KoblingRestTjeneste.AvsluttKoblingRequestAbacDto(saksnummer, referanse.getReferanse(), ytelseType, new AktørIdPersonident(aktørId.getId())); + + var response = koblingRestTjeneste.deaktiverKobling(request); + + // Assert + assertThat(response.getStatus()).isEqualTo(HttpURLConnection.HTTP_NO_CONTENT); + verify(avsluttKobling, never()).avsluttKobling(referanse, ytelseType); + } + @Test void sletting_av_kobling_feil_ytesletype_bad_request_nok() { var referanse = new KoblingReferanse(UUID.randomUUID());