11package com .bobocode .mvc .controller ;
22
3- import com .bobocode .mvc .HelloSpringMvcApp ;
4- import com .bobocode .mvc .controller .NoteController ;
53import com .bobocode .mvc .data .Notes ;
64import com .bobocode .mvc .model .Note ;
75import lombok .SneakyThrows ;
108import org .junit .jupiter .api .Test ;
119import org .junit .jupiter .api .TestMethodOrder ;
1210import org .springframework .beans .factory .annotation .Autowired ;
13- import org .springframework .boot .test .autoconfigure .web .servlet .AutoConfigureMockMvc ;
14- import org .springframework .boot .test .context .SpringBootTest ;
11+ import org .springframework .boot .test .autoconfigure .web .servlet .WebMvcTest ;
1512import org .springframework .boot .test .mock .mockito .MockBean ;
1613import org .springframework .stereotype .Controller ;
1714import org .springframework .test .web .servlet .MockMvc ;
3431import static org .springframework .test .web .servlet .request .MockMvcRequestBuilders .post ;
3532import static org .springframework .test .web .servlet .result .MockMvcResultMatchers .*;
3633
37- @ AutoConfigureMockMvc
38- @ SpringBootTest (classes = HelloSpringMvcApp .class )
34+ @ WebMvcTest
3935@ TestMethodOrder (MethodOrderer .OrderAnnotation .class )
4036class NoteControllerTest {
4137 @ MockBean
4238 private Notes notes ;
4339
44- @ Autowired
45- private NoteController controller ;
46-
4740 @ Autowired
4841 private MockMvc mockMvc ;
4942
@@ -95,6 +88,7 @@ void getNotesMethodAcceptsModelAsParameter() {
9588 @ Test
9689 @ SneakyThrows
9790 void getNotesMethodReturnNotesViewName () {
91+ var controller = new NoteController (notes );
9892 var getNotesMethod = Arrays .stream (controller .getClass ().getDeclaredMethods ())
9993 .filter (
10094 method -> Arrays .stream (method .getDeclaredAnnotations ())
@@ -114,6 +108,7 @@ void getNotesMethodReturnNotesViewName() {
114108 void getNotesMethodAddsNoteListToTheModel () {
115109 var noteList = givenNoteList ();
116110 var model = new BindingAwareModelMap ();
111+ var controller = new NoteController (notes );
117112 var getNotesMethod = Arrays .stream (controller .getClass ().getDeclaredMethods ())
118113 .filter (
119114 method -> Arrays .stream (method .getDeclaredAnnotations ())
@@ -171,6 +166,7 @@ void addNoteMethodAcceptsNewNoteAsParameter() {
171166 @ Test
172167 @ SneakyThrows
173168 void addNoteMethodReturnsRedirectToNotes () {
169+ var controller = new NoteController (notes );
174170 var addNoteMethod = Arrays .stream (NoteController .class .getDeclaredMethods ())
175171 .filter (
176172 method -> Arrays .stream (method .getDeclaredAnnotations ())
@@ -190,6 +186,7 @@ void addNoteMethodReturnsRedirectToNotes() {
190186 @ SneakyThrows
191187 void addNotePassPostedNote () {
192188 var note = new Note ("Test" , "Hello, World!" );
189+ var controller = new NoteController (notes );
193190 var addNoteMethod = Arrays .stream (NoteController .class .getDeclaredMethods ())
194191 .filter (
195192 method -> Arrays .stream (method .getDeclaredAnnotations ())
0 commit comments