Skip to content

Commit

Permalink
Updated tests, testShow()
Browse files Browse the repository at this point in the history
  • Loading branch information
Alina Tarasova committed Jul 6, 2024
1 parent fb1af45 commit 538211d
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 50 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -107,14 +106,12 @@ public void testIndex() throws Exception {
var body = result.getResponse().getContentAsString();

Map<String, Object> content = om.readValue(body, new TypeReference<>() {});

Object postComments = content.get("content");
var postComments = content.get("content");

List<PostCommentDTO> postCommentDTOS = om.convertValue(postComments, new TypeReference<>() {});

List<PostComment> actual = postCommentDTOS.stream().map(postCommentMapper::map).toList();
List<PostComment> expected = postCommentRepository.findAll();

var actual = postCommentDTOS.stream().map(postCommentMapper::map).toList();
var expected = postCommentRepository.findAll();
Assertions.assertThat(actual).containsAll(expected);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<PostDTO> postDTOS = om.readValue(body, new TypeReference<>() {});

List<Post> actual = postDTOS.stream().map(postMapper::map).toList();
List<Post> expected = postRepository.findAll();

var actual = postDTOS.stream().map(postMapper::map).toList();
var expected = postRepository.findAll();
Assertions.assertThat(actual).containsAll(expected);
}

Expand Down Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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<UserDTO> userDTOS = om.readValue(body, new TypeReference<>() {});

List<User> actual = userDTOS.stream().map(userMapper::map).toList();
List<User> expected = userRepository.findAll();

var actual = userDTOS.stream().map(userMapper::map).toList();
var expected = userRepository.findAll();
Assertions.assertThat(actual).containsAll(expected);
}

Expand Down Expand Up @@ -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()));
}
}

0 comments on commit 538211d

Please sign in to comment.