|
@@ -17,6 +17,7 @@ import org.springframework.boot.test.json.JacksonTester;
|
17
|
17
|
import org.springframework.http.HttpHeaders;
|
18
|
18
|
import org.springframework.http.HttpStatus;
|
19
|
19
|
import org.springframework.http.MediaType;
|
|
20
|
+import org.springframework.http.ResponseEntity;
|
20
|
21
|
import org.springframework.mock.web.MockHttpServletResponse;
|
21
|
22
|
import org.springframework.test.context.junit4.SpringRunner;
|
22
|
23
|
import org.springframework.test.web.servlet.MockMvc;
|
|
@@ -26,8 +27,14 @@ import java.net.URI;
|
26
|
27
|
import java.util.Arrays;
|
27
|
28
|
|
28
|
29
|
import static io.zipcoder.tc_spring_poll_application.JsonTestUtilities.asJsonString;
|
|
30
|
+import static org.hamcrest.Matchers.containsString;
|
29
|
31
|
import static org.mockito.BDDMockito.given;
|
|
32
|
+import static org.mockito.Mockito.doNothing;
|
|
33
|
+import static org.mockito.Mockito.times;
|
|
34
|
+import static org.mockito.Mockito.verify;
|
30
|
35
|
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
|
|
36
|
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header;
|
|
37
|
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
31
|
38
|
|
32
|
39
|
@SpringBootTest
|
33
|
40
|
@RunWith(SpringRunner.class)
|
|
@@ -111,23 +118,32 @@ public class PollControllerTest {
|
111
|
118
|
postURLtemplate URL */
|
112
|
119
|
public void testCreatePollSuccess() throws Exception {
|
113
|
120
|
Poll testPoll2 = new Poll();
|
114
|
|
- String expected = "http://localhost/polls/2/";
|
|
121
|
+// String expected = "http://localhost/polls/2/";
|
115
|
122
|
|
116
|
|
- HttpHeaders responseHeader = new HttpHeaders();
|
117
|
|
- responseHeader.setLocation(URI.create(expected));
|
|
123
|
+// HttpHeaders responseHeader = new HttpHeaders();
|
|
124
|
+// responseHeader.setLocation(URI.create(expected));
|
118
|
125
|
|
119
|
126
|
given(pollController.createPoll(testPoll2)).willReturn(null);
|
|
127
|
+// doNothing().when(pollController).createPoll(testPoll2);
|
120
|
128
|
|
121
|
|
- MockHttpServletResponse response = mvc.perform(post("/polls/2")
|
122
|
|
- .content(asJsonString(testPoll2))
|
|
129
|
+// MockHttpServletResponse response = mvc.perform(post("/polls/2")
|
|
130
|
+// .content(asJsonString(testPoll2))
|
|
131
|
+// .contentType(MediaType.APPLICATION_JSON)
|
|
132
|
+// .accept(MediaType.APPLICATION_JSON))
|
|
133
|
+// .andReturn().getResponse();
|
|
134
|
+
|
|
135
|
+ mvc.perform(post("/polls/{id}",2)
|
123
|
136
|
.contentType(MediaType.APPLICATION_JSON)
|
124
|
|
- .accept(MediaType.APPLICATION_JSON))
|
125
|
|
- .andReturn().getResponse();
|
|
137
|
+ .contentType(asJsonString(testPoll2)))
|
|
138
|
+ .andExpect(status().isCreated())
|
|
139
|
+ .andExpect(header().string("location", containsString("/polls/2")));
|
126
|
140
|
|
127
|
|
- String header = response.getHeader("Location");
|
|
141
|
+ verify(pollController, times(1)).createPoll(testPoll2);
|
128
|
142
|
|
129
|
|
- Assert.assertEquals(HttpStatus.CREATED.value(),(response.getStatus()));
|
130
|
|
- Assert.assertEquals(expected, header);
|
|
143
|
+// String header = response.getHeader("Location");
|
|
144
|
+//
|
|
145
|
+// Assert.assertEquals(HttpStatus.CREATED.value(),(response.getStatus()));
|
|
146
|
+// Assert.assertEquals(expected, header);
|
131
|
147
|
}
|
132
|
148
|
|
133
|
149
|
@Test
|