Skip to content

Commit e836aa9

Browse files
author
alina tarasova
committed
Clearing data before tests, replacing get() with orElseThrow()
1 parent 2a32225 commit e836aa9

File tree

3 files changed

+66
-78
lines changed

3 files changed

+66
-78
lines changed

src/test/java/io/hexlet/blog/controller/api/PostsCommentsControllerTest.java

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,37 @@
11
package io.hexlet.blog.controller.api;
22

3-
import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
4-
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt;
5-
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
6-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
7-
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
8-
93
import com.fasterxml.jackson.core.type.TypeReference;
104
import com.fasterxml.jackson.databind.ObjectMapper;
115
import io.hexlet.blog.dto.PostCommentDTO;
126
import io.hexlet.blog.mapper.PostCommentMapper;
7+
import io.hexlet.blog.model.Post;
138
import io.hexlet.blog.model.User;
9+
import io.hexlet.blog.repository.PostCommentRepository;
10+
import io.hexlet.blog.repository.PostRepository;
11+
import io.hexlet.blog.repository.UserRepository;
12+
import io.hexlet.blog.util.ModelGenerator;
1413
import org.assertj.core.api.Assertions;
1514
import org.instancio.Instancio;
1615
import org.junit.jupiter.api.BeforeEach;
17-
import org.junit.jupiter.api.AfterEach;
1816
import org.junit.jupiter.api.Test;
1917
import org.springframework.beans.factory.annotation.Autowired;
2018
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
2119
import org.springframework.boot.test.context.SpringBootTest;
2220
import org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.JwtRequestPostProcessor;
2321
import org.springframework.test.web.servlet.MockMvc;
24-
25-
import io.hexlet.blog.model.Post;
26-
import io.hexlet.blog.repository.PostCommentRepository;
27-
import io.hexlet.blog.repository.PostRepository;
28-
import io.hexlet.blog.util.ModelGenerator;
2922
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
3023
import org.springframework.web.context.WebApplicationContext;
31-
import io.hexlet.blog.repository.UserRepository;
3224

3325
import java.nio.charset.StandardCharsets;
3426
import java.util.List;
3527
import java.util.Map;
3628

29+
import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
30+
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt;
31+
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
32+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
33+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
34+
3735

3836
@SpringBootTest
3937
@AutoConfigureMockMvc
@@ -72,6 +70,10 @@ public class PostsCommentsControllerTest {
7270

7371
@BeforeEach
7472
public void setUp() {
73+
postCommentRepository.deleteAll();
74+
postRepository.deleteAll();
75+
userRepository.deleteAll();
76+
7577
mockMvc = MockMvcBuilders.webAppContextSetup(wac)
7678
.defaultResponseCharacterEncoding(StandardCharsets.UTF_8)
7779
.apply(springSecurity())
@@ -102,13 +104,6 @@ public void setUp() {
102104
postCommentRepository.save(testPostComment2);
103105
}
104106

105-
@AfterEach
106-
public void clean() {
107-
postCommentRepository.deleteAll();
108-
postRepository.deleteAll();
109-
userRepository.deleteAll();
110-
}
111-
112107
@Test
113108
public void testIndex() throws Exception {
114109
var result = mockMvc.perform(get("/api/posts_comments").with(token))

src/test/java/io/hexlet/blog/controller/api/PostsControllerTest.java

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,18 @@
11
package io.hexlet.blog.controller.api;
22

3-
import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
4-
import static org.assertj.core.api.Assertions.assertThat;
5-
import static org.junit.jupiter.api.Assertions.assertNotNull;
6-
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt;
7-
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
8-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
9-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
10-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
11-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
12-
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
13-
143
import com.fasterxml.jackson.core.type.TypeReference;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
155
import io.hexlet.blog.dto.PostDTO;
6+
import io.hexlet.blog.dto.PostUpdateDTO;
7+
import io.hexlet.blog.mapper.PostMapper;
8+
import io.hexlet.blog.model.Post;
169
import io.hexlet.blog.model.User;
10+
import io.hexlet.blog.repository.PostCommentRepository;
11+
import io.hexlet.blog.repository.PostRepository;
1712
import io.hexlet.blog.repository.UserRepository;
13+
import io.hexlet.blog.util.ModelGenerator;
1814
import org.assertj.core.api.Assertions;
1915
import org.instancio.Instancio;
20-
import org.junit.jupiter.api.AfterEach;
2116
import org.junit.jupiter.api.BeforeEach;
2217
import org.junit.jupiter.api.Test;
2318
import org.openapitools.jackson.nullable.JsonNullable;
@@ -27,20 +22,23 @@
2722
import org.springframework.http.MediaType;
2823
import org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.JwtRequestPostProcessor;
2924
import org.springframework.test.web.servlet.MockMvc;
30-
31-
import com.fasterxml.jackson.databind.ObjectMapper;
32-
33-
import io.hexlet.blog.dto.PostUpdateDTO;
34-
import io.hexlet.blog.mapper.PostMapper;
35-
import io.hexlet.blog.model.Post;
36-
import io.hexlet.blog.repository.PostRepository;
37-
import io.hexlet.blog.util.ModelGenerator;
3825
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
3926
import org.springframework.web.context.WebApplicationContext;
4027

4128
import java.nio.charset.StandardCharsets;
4229
import java.util.List;
4330

31+
import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
32+
import static org.assertj.core.api.Assertions.assertThat;
33+
import static org.junit.jupiter.api.Assertions.assertNotNull;
34+
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt;
35+
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
36+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
37+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
38+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
39+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
40+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
41+
4442

4543
@SpringBootTest
4644
@AutoConfigureMockMvc
@@ -67,6 +65,9 @@ public class PostsControllerTest {
6765
@Autowired
6866
private UserRepository userRepository;
6967

68+
@Autowired
69+
private PostCommentRepository postCommentRepository;
70+
7071
private JwtRequestPostProcessor token;
7172

7273
private Post testPost;
@@ -76,6 +77,10 @@ public class PostsControllerTest {
7677

7778
@BeforeEach
7879
public void setUp() {
80+
postCommentRepository.deleteAll();
81+
postRepository.deleteAll();
82+
userRepository.deleteAll();
83+
7984
mockMvc = MockMvcBuilders.webAppContextSetup(wac)
8085
.defaultResponseCharacterEncoding(StandardCharsets.UTF_8)
8186
.apply(springSecurity())
@@ -90,12 +95,6 @@ public void setUp() {
9095
testPost.setAuthor(testUser);
9196
}
9297

93-
@AfterEach
94-
public void clean() {
95-
postRepository.deleteAll();
96-
userRepository.deleteAll();
97-
}
98-
9998
@Test
10099
public void testIndex() throws Exception {
101100
postRepository.save(testPost);
@@ -125,7 +124,7 @@ public void testCreate() throws Exception {
125124
mockMvc.perform(request)
126125
.andExpect(status().isCreated());
127126

128-
var post = postRepository.findBySlug(testPost.getSlug()).get();
127+
var post = postRepository.findBySlug(testPost.getSlug()).orElseThrow();
129128
assertNotNull(post);
130129
assertThat(post.getName()).isEqualTo(testPost.getName());
131130
}
@@ -145,7 +144,7 @@ public void testUpdate() throws Exception {
145144
mockMvc.perform(request)
146145
.andExpect(status().isOk());
147146

148-
testPost = postRepository.findById(testPost.getId()).get();
147+
testPost = postRepository.findById(testPost.getId()).orElseThrow();
149148
assertThat(testPost.getName()).isEqualTo(data.getName().get());
150149
}
151150

@@ -164,7 +163,7 @@ public void testUpdateFailed() throws Exception {
164163
mockMvc.perform(request)
165164
.andExpect(status().isForbidden());
166165

167-
var actualPost = postRepository.findById(testPost.getId()).get();
166+
var actualPost = postRepository.findById(testPost.getId()).orElseThrow();
168167
assertThat(actualPost.getName()).isEqualTo(testPost.getName());
169168
}
170169

src/test/java/io/hexlet/blog/controller/api/UsersControllerTest.java

Lines changed: 23 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,15 @@
11
package io.hexlet.blog.controller.api;
22

3-
import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
4-
import static org.assertj.core.api.Assertions.assertThat;
5-
import static org.junit.jupiter.api.Assertions.assertNotNull;
6-
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt;
7-
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
8-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
9-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
10-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
11-
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
12-
13-
import java.util.List;
14-
import java.nio.charset.StandardCharsets;
15-
import java.util.HashMap;
16-
173
import com.fasterxml.jackson.core.type.TypeReference;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
185
import io.hexlet.blog.dto.UserDTO;
196
import io.hexlet.blog.mapper.UserMapper;
7+
import io.hexlet.blog.model.User;
8+
import io.hexlet.blog.repository.UserRepository;
9+
import io.hexlet.blog.util.ModelGenerator;
10+
import net.datafaker.Faker;
2011
import org.assertj.core.api.Assertions;
2112
import org.instancio.Instancio;
22-
import org.junit.jupiter.api.AfterEach;
2313
import org.junit.jupiter.api.BeforeEach;
2414
import org.junit.jupiter.api.Test;
2515
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,16 +18,23 @@
2818
import org.springframework.http.MediaType;
2919
import org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.JwtRequestPostProcessor;
3020
import org.springframework.test.web.servlet.MockMvc;
31-
32-
import com.fasterxml.jackson.databind.ObjectMapper;
33-
34-
import io.hexlet.blog.model.User;
35-
import io.hexlet.blog.repository.UserRepository;
36-
import io.hexlet.blog.util.ModelGenerator;
37-
import net.datafaker.Faker;
3821
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
3922
import org.springframework.web.context.WebApplicationContext;
4023

24+
import java.nio.charset.StandardCharsets;
25+
import java.util.HashMap;
26+
import java.util.List;
27+
28+
import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
29+
import static org.assertj.core.api.Assertions.assertThat;
30+
import static org.junit.jupiter.api.Assertions.assertNotNull;
31+
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt;
32+
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
33+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
34+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
35+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
36+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
37+
4138

4239
@SpringBootTest
4340
@AutoConfigureMockMvc
@@ -71,6 +68,8 @@ public class UsersControllerTest {
7168

7269
@BeforeEach
7370
public void setUp() {
71+
userRepository.deleteAll();
72+
7473
mockMvc = MockMvcBuilders.webAppContextSetup(wac)
7574
.defaultResponseCharacterEncoding(StandardCharsets.UTF_8)
7675
.apply(springSecurity())
@@ -81,11 +80,6 @@ public void setUp() {
8180
token = jwt().jwt(builder -> builder.subject(testUser.getEmail()));
8281
}
8382

84-
@AfterEach
85-
public void clean() {
86-
userRepository.deleteAll();
87-
}
88-
8983
@Test
9084
public void testIndex() throws Exception {
9185
var response = mockMvc.perform(get("/api/users").with(jwt()))
@@ -113,7 +107,7 @@ public void testCreate() throws Exception {
113107
mockMvc.perform(request)
114108
.andExpect(status().isCreated());
115109

116-
var user = userRepository.findByEmail(data.getEmail()).get();
110+
var user = userRepository.findByEmail(data.getEmail()).orElseThrow();
117111

118112
assertNotNull(user);
119113
assertThat(user.getFirstName()).isEqualTo(data.getFirstName());
@@ -134,7 +128,7 @@ public void testUpdate() throws Exception {
134128
mockMvc.perform(request)
135129
.andExpect(status().isOk());
136130

137-
var user = userRepository.findById(testUser.getId()).get();
131+
var user = userRepository.findById(testUser.getId()).orElseThrow();
138132
assertThat(user.getFirstName()).isEqualTo(("Mike"));
139133
}
140134

0 commit comments

Comments
 (0)