From 538211dfd156beeef771778d528276dd4d068447 Mon Sep 17 00:00:00 2001 From: Alina Tarasova Date: Sat, 6 Jul 2024 14:55:12 +0300 Subject: [PATCH] Updated tests, testShow() --- .../api/PostsCommentsControllerTest.java | 9 ++-- .../controller/api/PostsControllerTest.java | 39 +++++++++--------- .../controller/api/UsersControllerTest.java | 41 ++++++++----------- 3 files changed, 39 insertions(+), 50 deletions(-) diff --git a/src/test/java/io/hexlet/blog/controller/api/PostsCommentsControllerTest.java b/src/test/java/io/hexlet/blog/controller/api/PostsCommentsControllerTest.java index b6ff98a..96cb383 100644 --- a/src/test/java/io/hexlet/blog/controller/api/PostsCommentsControllerTest.java +++ b/src/test/java/io/hexlet/blog/controller/api/PostsCommentsControllerTest.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import io.hexlet.blog.dto.PostCommentDTO; import io.hexlet.blog.mapper.PostCommentMapper; -import io.hexlet.blog.model.PostComment; import org.assertj.core.api.Assertions; import org.instancio.Instancio; import org.junit.jupiter.api.BeforeEach; @@ -107,14 +106,12 @@ public void testIndex() throws Exception { var body = result.getResponse().getContentAsString(); Map content = om.readValue(body, new TypeReference<>() {}); - - Object postComments = content.get("content"); + var postComments = content.get("content"); List postCommentDTOS = om.convertValue(postComments, new TypeReference<>() {}); - List actual = postCommentDTOS.stream().map(postCommentMapper::map).toList(); - List expected = postCommentRepository.findAll(); - + var actual = postCommentDTOS.stream().map(postCommentMapper::map).toList(); + var expected = postCommentRepository.findAll(); Assertions.assertThat(actual).containsAll(expected); } diff --git a/src/test/java/io/hexlet/blog/controller/api/PostsControllerTest.java b/src/test/java/io/hexlet/blog/controller/api/PostsControllerTest.java index 1ce3387..c9cbe8f 100644 --- a/src/test/java/io/hexlet/blog/controller/api/PostsControllerTest.java +++ b/src/test/java/io/hexlet/blog/controller/api/PostsControllerTest.java @@ -84,36 +84,20 @@ public void setUp() { testPost.setAuthor(userUtils.getTestUser()); } - @Test - public void testShow() throws Exception { - postRepository.save(testPost); - - var request = get("/api/posts/" + testPost.getId()).with(jwt()); - var result = mockMvc.perform(request) - .andExpect(status().isOk()) - .andReturn(); - var body = result.getResponse().getContentAsString(); - assertThatJson(body).and( - v -> v.node("slug").isEqualTo(testPost.getSlug()), - v -> v.node("name").isEqualTo(testPost.getName()), - v -> v.node("body").isEqualTo(testPost.getBody())); - } - @Test public void testIndex() throws Exception { postRepository.save(testPost); + var response = mockMvc.perform(get("/api/posts").with(token)) .andExpect(status().isOk()) .andReturn() .getResponse(); - - String body = response.getContentAsString(); + var body = response.getContentAsString(); List postDTOS = om.readValue(body, new TypeReference<>() {}); - List actual = postDTOS.stream().map(postMapper::map).toList(); - List expected = postRepository.findAll(); - + var actual = postDTOS.stream().map(postMapper::map).toList(); + var expected = postRepository.findAll(); Assertions.assertThat(actual).containsAll(expected); } @@ -172,6 +156,21 @@ public void testUpdateFailed() throws Exception { assertThat(actualPost.getName()).isEqualTo(testPost.getName()); } + @Test + public void testShow() throws Exception { + postRepository.save(testPost); + + var request = get("/api/posts/" + testPost.getId()).with(jwt()); + var result = mockMvc.perform(request) + .andExpect(status().isOk()) + .andReturn(); + var body = result.getResponse().getContentAsString(); + assertThatJson(body).and( + v -> v.node("slug").isEqualTo(testPost.getSlug()), + v -> v.node("name").isEqualTo(testPost.getName()), + v -> v.node("body").isEqualTo(testPost.getBody())); + } + @Test public void testDestroy() throws Exception { postRepository.save(testPost); diff --git a/src/test/java/io/hexlet/blog/controller/api/UsersControllerTest.java b/src/test/java/io/hexlet/blog/controller/api/UsersControllerTest.java index 817e1e5..54c5bce 100644 --- a/src/test/java/io/hexlet/blog/controller/api/UsersControllerTest.java +++ b/src/test/java/io/hexlet/blog/controller/api/UsersControllerTest.java @@ -1,5 +1,6 @@ package io.hexlet.blog.controller.api; +import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt; @@ -81,39 +82,18 @@ public void setUp() { userRepository.save(testUser); } - @Test - public void testShow() throws Exception { - var response = mockMvc.perform(get("/api/users/" - + testUser.getId()).with(jwt())) - .andExpect(status().isOk()) - .andReturn() - .getResponse(); - - String body = response.getContentAsString(); - - UserDTO userDTO = om.readValue(body, UserDTO.class); - - User user = userMapper.map(userDTO); - - assertThat(user.getEmail()).isEqualTo(testUser.getEmail()); - assertThat(user.getFirstName()).isEqualTo(testUser.getFirstName()); - assertThat(user.getLastName()).isEqualTo(testUser.getLastName()); - } - @Test public void testIndex() throws Exception { var response = mockMvc.perform(get("/api/users").with(jwt())) .andExpect(status().isOk()) .andReturn() .getResponse(); - - String body = response.getContentAsString(); + var body = response.getContentAsString(); List userDTOS = om.readValue(body, new TypeReference<>() {}); - List actual = userDTOS.stream().map(userMapper::map).toList(); - List expected = userRepository.findAll(); - + var actual = userDTOS.stream().map(userMapper::map).toList(); + var expected = userRepository.findAll(); Assertions.assertThat(actual).containsAll(expected); } @@ -153,4 +133,17 @@ public void testUpdate() throws Exception { var user = userRepository.findById(testUser.getId()).get(); assertThat(user.getFirstName()).isEqualTo(("Mike")); } + + @Test + public void testShow() throws Exception { + var request = get("/api/users/" + testUser.getId()).with(jwt()); + var result = mockMvc.perform(request) + .andExpect(status().isOk()) + .andReturn(); + var body = result.getResponse().getContentAsString(); + assertThatJson(body).and( + v -> v.node("username").isEqualTo(testUser.getEmail()), + v -> v.node("firstName").isEqualTo(testUser.getFirstName()), + v -> v.node("lastName").isEqualTo(testUser.getLastName())); + } }