79.1 Delete user (#9)

This commit is contained in:
Art
2021-09-09 23:26:46 +03:00
parent c399d1cf8d
commit b91f60ef51
2 changed files with 44 additions and 0 deletions

View File

@ -91,6 +91,17 @@ public class UserResource {
.build();
}
@DeleteMapping("{id}")
public HttpResponse deleteUser(@PathVariable long id){
userService.deleteUser(id);
return HttpResponse.builder()
.httpStatusCode(OK.value())
.httpStatus(OK)
.reason(OK.getReasonPhrase())
.message("User deleted successfully")
.build();
}
private void authenticate(String username, String password) {
Authentication auth = new UsernamePasswordAuthenticationToken(username, password);
authenticationManager.authenticate(auth);

View File

@ -520,4 +520,37 @@ class UserResourceUnSecureTest extends BaseUserTest {
.hasFieldOrPropertyWithValue("message", "Password reset successfully. Check your email for new password");
}
}
@Nested
class DeleteUserTests {
@BeforeEach
void setUp() {
user = userRepository
.findAll()
.stream()
.findAny()
.orElseGet(() -> userRepository.save(createRandomUser()));
}
@Test
void deleteUser() {
//given
long id = user.getId();
//when
var responseEntity = restTemplate.exchange("/user/{id}", HttpMethod.DELETE, null, HttpResponse.class, id);
//then
log.debug("Response Entity: {}", responseEntity);
assertThat(responseEntity.getStatusCode()).isEqualTo(OK);
assertThat(responseEntity.getBody())
.isNotNull()
.hasNoNullFieldsOrProperties()
.hasFieldOrPropertyWithValue("httpStatus", OK)
.hasFieldOrPropertyWithValue("message", "User deleted successfully");
}
}
}