Skip to content

Commit

Permalink
fix: Delete api for test (#21)
Browse files Browse the repository at this point in the history
  • Loading branch information
Vitolo-Andrea authored Jan 31, 2025
1 parent 54c4902 commit 8eb6887
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,7 @@ Mono<ResponseEntity<CitizenConsentDTO>> getCitizenConsentStatus(@PathVariable @P
@GetMapping("/{tppId}")
Mono<ResponseEntity<List<CitizenConsentDTO>>> getCitizenEnabled(@PathVariable @Pattern(regexp = TPP_STRUCTURE_REGEX, message = "Invalid fiscal code format") String fiscalCode);

@DeleteMapping("/test/{fiscalCode}")
Mono<ResponseEntity<CitizenConsentDTO>> deleteCitizenConsent(@PathVariable @Pattern(regexp = FISCAL_CODE_STRUCTURE_REGEX, message = "Invalid fiscal code format") String fiscalCode);

}
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,12 @@ public Mono<ResponseEntity<List<CitizenConsentDTO>>> getCitizenEnabled(String tp
.map(ResponseEntity::ok);
}

@Override
public Mono<ResponseEntity<CitizenConsentDTO>> deleteCitizenConsent(String fiscalCode) {
return citizenService.deleteCitizenConsent(fiscalCode)
.map(ResponseEntity::ok);
}

@Override
public Mono<ResponseEntity<String>> bloomFilterSearch(String fiscalCode) {
return Mono.fromCallable(() ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ public interface CitizenService {
Mono<CitizenConsentDTO> getCitizenConsentsList(String fiscalCode);
Mono<CitizenConsentDTO> getCitizenConsentsListEnabled(String fiscalCode);
Mono<List<CitizenConsentDTO>> getCitizenEnabled(String tppId);
Mono<CitizenConsentDTO> deleteCitizenConsent(String fiscalCode);
}
Original file line number Diff line number Diff line change
Expand Up @@ -190,4 +190,15 @@ public Mono<List<CitizenConsentDTO>> getCitizenEnabled(String tppId) {
.map(mapperToDTO::map)
.collectList();
}

@Override
public Mono<CitizenConsentDTO> deleteCitizenConsent(String fiscalCode) {
return citizenRepository.findByFiscalCode(fiscalCode)
.switchIfEmpty(Mono.error(exceptionMap.throwException
(ExceptionName.CITIZEN_NOT_ONBOARDED, "Citizen consent not founded during delete process ")))
.flatMap(citizenConsent ->
citizenRepository.deleteById(citizenConsent.getId())
.then(Mono.just(mapperToDTO.map(citizenConsent)))
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -205,4 +205,19 @@ void getCitizenEnabled_ShouldReturnListOfCitizens() {

}

@Test
void deleteCitizenConsent_OK() {
CitizenConsentDTO mockConsent = CitizenConsentDTOFaker.mockInstance(true);
Mockito.when(citizenService.deleteCitizenConsent(FISCAL_CODE))
.thenReturn(Mono.just(mockConsent));
webClient.delete()
.uri("/emd/citizen/test/{fiscalCode}", FISCAL_CODE)
.accept(MediaType.APPLICATION_JSON)
.exchange()
.expectStatus().isOk()
.expectBodyList(CitizenConsentDTO.class)
.value(response -> Assertions.assertEquals(1, response.size()));
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -337,5 +337,35 @@ void getCitizenEnabled_Empty() {
})
.verifyComplete();
}


@Test
void deleteCitizenConsent_OK() {
CitizenConsent citizenConsent = CitizenConsent.builder()
.id(FISCAL_CODE)
.fiscalCode(FISCAL_CODE)
.consents(new HashMap<>())
.build();

when(citizenRepository.findByFiscalCode(FISCAL_CODE)).thenReturn(Mono.just(citizenConsent));
when(citizenRepository.deleteById(FISCAL_CODE)).thenReturn(Mono.empty());
StepVerifier.create(citizenService.deleteCitizenConsent(FISCAL_CODE))
.assertNext(response -> {
assertNotNull(response);
assertEquals(0, response.getConsents().size());
})
.verifyComplete();
}


@Test
void deleteCitizenConsent_NotOnboarded() {
when(citizenRepository.findByFiscalCode(FISCAL_CODE)).thenReturn(Mono.empty());

StepVerifier.create(citizenService.deleteCitizenConsent(FISCAL_CODE))
.expectErrorMatches(throwable -> throwable instanceof ClientExceptionWithBody &&
"Citizen consent not founded during delete process ".equals(throwable.getMessage()))
.verify();
}
}

0 comments on commit 8eb6887

Please sign in to comment.