11package 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-
143import com .fasterxml .jackson .core .type .TypeReference ;
4+ import com .fasterxml .jackson .databind .ObjectMapper ;
155import 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 ;
169import io .hexlet .blog .model .User ;
10+ import io .hexlet .blog .repository .PostCommentRepository ;
11+ import io .hexlet .blog .repository .PostRepository ;
1712import io .hexlet .blog .repository .UserRepository ;
13+ import io .hexlet .blog .util .ModelGenerator ;
1814import org .assertj .core .api .Assertions ;
1915import org .instancio .Instancio ;
20- import org .junit .jupiter .api .AfterEach ;
2116import org .junit .jupiter .api .BeforeEach ;
2217import org .junit .jupiter .api .Test ;
2318import org .openapitools .jackson .nullable .JsonNullable ;
2722import org .springframework .http .MediaType ;
2823import org .springframework .security .test .web .servlet .request .SecurityMockMvcRequestPostProcessors .JwtRequestPostProcessor ;
2924import 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 ;
3825import org .springframework .test .web .servlet .setup .MockMvcBuilders ;
3926import org .springframework .web .context .WebApplicationContext ;
4027
4128import java .nio .charset .StandardCharsets ;
4229import 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
0 commit comments