From 027f7835f3b994c4a20bbb05872e98231e557158 Mon Sep 17 00:00:00 2001 From: rayankonecny Date: Sat, 13 Dec 2025 04:27:29 +0000 Subject: [PATCH] add test to update user service --- .../service/UserServiceTest.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/user-service-api/src/test/java/br/com/rayankonecny/userserviceapi/service/UserServiceTest.java b/user-service-api/src/test/java/br/com/rayankonecny/userserviceapi/service/UserServiceTest.java index de80ad7..6c44dd0 100644 --- a/user-service-api/src/test/java/br/com/rayankonecny/userserviceapi/service/UserServiceTest.java +++ b/user-service-api/src/test/java/br/com/rayankonecny/userserviceapi/service/UserServiceTest.java @@ -18,6 +18,7 @@ import br.com.rayankonecny.userserviceapi.mapper.UserMapper; import br.com.rayankonecny.userserviceapi.repository.UserRepository; import models.exceptions.ResourceNotFoundException; import models.requests.CreateUserRequest; +import models.requests.UpdateUserRequest; import models.responses.UserResponse; import static br.com.rayankonecny.userserviceapi.creator.CreatorUtils.generateMock; @@ -111,8 +112,9 @@ public class UserServiceTest { void whenCallSaveWithInvalidEmailThenThrowDataIntegrityViolationException() { final var request = generateMock(CreateUserRequest.class); - final var entity = generateMock(User.class); + final var entity = generateMock(User.class); + when(repository.findById(anyString())).thenReturn(Optional.of(entity)); when(repository.findByEmail(anyString())).thenReturn(Optional.of(entity)); try { @@ -129,4 +131,25 @@ public class UserServiceTest { } + @Test + void whenCallUpdateWithValidParamsThenGetSuccess() { + final var id = "1"; + final var request = generateMock(UpdateUserRequest.class); + final var entity = generateMock(User.class).withId(id); + + when(repository.findById(anyString())).thenReturn(Optional.of(entity)); + when(repository.findByEmail(anyString())).thenReturn(Optional.empty()); + when(mapper.update(any(), any())).thenReturn(entity); + when(repository.save(any(User.class))).thenReturn(entity); + + service.update(id, request); + + verify(repository).findById(anyString()); + verify(repository).findByEmail(request.email()); + verify(mapper).update(request, entity); + verify(encoder).encode(request.password()); + verify(repository).save(any(User.class)); + verify(mapper).fromEntity(any(User.class)) + } + }