|
|
@@ -10,12 +10,19 @@ import org.mockito.Mockito;
|
|
10
|
10
|
import org.mockito.MockitoAnnotations;
|
|
11
|
11
|
import org.springframework.http.HttpStatus;
|
|
12
|
12
|
import org.springframework.http.ResponseEntity;
|
|
|
13
|
+import org.springframework.test.web.servlet.MockMvc;
|
|
|
14
|
+import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
|
13
|
15
|
import org.springframework.util.Assert;
|
|
14
|
16
|
|
|
|
17
|
+import javax.servlet.ServletContext;
|
|
|
18
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
19
|
+import javax.servlet.http.HttpServletResponse;
|
|
15
|
20
|
import java.util.ArrayList;
|
|
16
|
21
|
import java.util.List;
|
|
|
22
|
+import java.util.regex.Pattern;
|
|
17
|
23
|
|
|
18
|
24
|
import static org.junit.Assert.assertEquals;
|
|
|
25
|
+import static org.junit.Assert.assertTrue;
|
|
19
|
26
|
import static org.mockito.ArgumentMatchers.any;
|
|
20
|
27
|
import static org.mockito.Mockito.mock;
|
|
21
|
28
|
import static org.mockito.Mockito.verify;
|
|
|
@@ -36,6 +43,7 @@ public class PollControllerTest {
|
|
36
|
43
|
private PollRepository pollRepo;
|
|
37
|
44
|
|
|
38
|
45
|
private List<Poll> polls = new ArrayList<>();
|
|
|
46
|
+ private MockMvc mockMvc;
|
|
39
|
47
|
|
|
40
|
48
|
@Before
|
|
41
|
49
|
public void setup() {
|
|
|
@@ -47,7 +55,6 @@ public class PollControllerTest {
|
|
47
|
55
|
//POST create poll
|
|
48
|
56
|
when(pollRepo.save(any(Poll.class))).thenAnswer(inv -> inv.getArgument(0));
|
|
49
|
57
|
|
|
50
|
|
-// would be nice...
|
|
51
|
58
|
// when(pollRepo::save)
|
|
52
|
59
|
// .onSuccess(HttpStatus.CREATED)
|
|
53
|
60
|
// .onFail(HttpStatus.BAD_REQUEST);
|
|
|
@@ -83,4 +90,16 @@ public class PollControllerTest {
|
|
83
|
90
|
verify(pollRepo).save(any(Poll.class));
|
|
84
|
91
|
assertEquals(expected.getId(), actual.getId());
|
|
85
|
92
|
}
|
|
|
93
|
+
|
|
|
94
|
+ @Test
|
|
|
95
|
+ public void createPollReturnsLocation() {
|
|
|
96
|
+ Poll p = new Poll();
|
|
|
97
|
+ p.setId(1L);
|
|
|
98
|
+
|
|
|
99
|
+ Pattern expected = Pattern.compile("/polls/1");
|
|
|
100
|
+ String actual = pollCtrl.createPoll(p).getHeaders().getLocation().toString();
|
|
|
101
|
+
|
|
|
102
|
+ verify(pollRepo).save(any(Poll.class));
|
|
|
103
|
+ assertTrue(expected.matcher(actual).find());
|
|
|
104
|
+ }
|
|
86
|
105
|
}
|