diff --git a/user-service-api/src/main/java/br/com/rayankonecny/userserviceapi/repository/UserRepository.java b/user-service-api/src/main/java/br/com/rayankonecny/userserviceapi/repository/UserRepository.java index 15cc87e..d835fbf 100644 --- a/user-service-api/src/main/java/br/com/rayankonecny/userserviceapi/repository/UserRepository.java +++ b/user-service-api/src/main/java/br/com/rayankonecny/userserviceapi/repository/UserRepository.java @@ -10,4 +10,6 @@ import org.springframework.stereotype.Repository; public interface UserRepository extends MongoRepository { Optional findByEmail(final String email); + + void deleteByEmail(final String validEmail); } diff --git a/user-service-api/src/test/java/br/com/rayankonecny/userserviceapi/controller/impl/UserControllerImpTest.java b/user-service-api/src/test/java/br/com/rayankonecny/userserviceapi/controller/impl/UserControllerImpTest.java index 155654a..3560d4f 100644 --- a/user-service-api/src/test/java/br/com/rayankonecny/userserviceapi/controller/impl/UserControllerImpTest.java +++ b/user-service-api/src/test/java/br/com/rayankonecny/userserviceapi/controller/impl/UserControllerImpTest.java @@ -9,8 +9,12 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.HttpStatus; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.web.servlet.MockMvc; +import static org.springframework.http.MediaType.APPLICATION_JSON; + +import com.fasterxml.jackson.databind.ObjectMapper; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @@ -18,6 +22,7 @@ import java.util.List; import br.com.rayankonecny.userserviceapi.entity.User; import br.com.rayankonecny.userserviceapi.repository.UserRepository; +import models.requests.CreateUserRequest; @SpringBootTest @AutoConfigureMockMvc @@ -67,7 +72,28 @@ public class UserControllerImpTest { .andExpect(jsonPath("$[0].profiles").isArray()); userRepository.deleteAll(List.of(entity1,entity2)); + } + @Test + void testSaveUserWithSuccess() throws Exception { + final var validEmail = "k42kak2ok@mail.com"; + final var request = generateMock(CreateUserRequest.class).withEmail(validEmail); + + mockMvc.perform( + post("/api/users") + .contentType(APPLICATION_JSON) + .content(toJson(request)) + ).andExpect(status().isCreated()); + + userRepository.deleteByEmail(validEmail); + } + + private String toJson(final Object object) throws Exception { + try { + return new ObjectMapper().writeValueAsString(object); + } catch (final Exception e) { + throw new Exception("Error to convert object to json", e); + } } }