Skip to content
Snippets Groups Projects
Commit 9eae414a authored by Jan Pokorný's avatar Jan Pokorný :lifter_tone2:
Browse files

fixed mocking facade in LectureControllerTest

parent a28aa98e
No related branches found
No related tags found
2 merge requests!31M2,!23M2 course tests
Pipeline #
This commit is part of merge request !23. Comments created here will be created in the context of that merge request.
......@@ -14,15 +14,13 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMock
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.test.web.servlet.MockMvc;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
......@@ -42,12 +40,15 @@ public class LectureControllerTest {
now.plusDays(2).plusHours(2),
"Learning how to spell deprecated",
10, 0L, 0L, Collections.emptyList());
@Autowired
ObjectMapper objectMapper;
@Autowired
private MockMvc mockMvc;
@MockBean
private LectureController lectureController;
private LectureFacade lectureFacade;
public static String asJsonString(final Object obj) {
try {
......@@ -61,25 +62,23 @@ public class LectureControllerTest {
@Test
void createLecture() throws Exception {
Mockito.when(lectureController.create(ArgumentMatchers.isA(LectureCreateDto.class))).thenReturn(ResponseEntity.ok(lectureDto));
Mockito.when(lectureFacade.create(ArgumentMatchers.isA(LectureCreateDto.class))).thenReturn(lectureDto);
mockMvc.perform(post("/lectures")
.content(asJsonString(lectureCreateDto))
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(status().is2xxSuccessful())
.andExpect(jsonPath("$.lectureFrom").isNotEmpty())
.andExpect(jsonPath("$.lectureTo").isNotEmpty())
.andExpect(jsonPath("$.topic").value("Learning how to spell deprecated"))
.andExpect(jsonPath("$.capacity").value("10"))
.andExpect(jsonPath("$.lecturerId").value("0"))
.andExpect(jsonPath("$.courseId").value("0"))
.andReturn().getResponse().getContentAsString();
.andExpect(jsonPath("$.courseId").value("0"));
}
@Test
void createInvalidLecture() throws Exception {
LectureCreateDto invalidLectureCreateDto =
new LectureCreateDto(null, null, null, null, null);
Mockito.when(lectureController.create(ArgumentMatchers.isA(LectureCreateDto.class))).thenReturn(ResponseEntity.badRequest().build());
mockMvc.perform(post("/lectures")
.content(asJsonString(invalidLectureCreateDto))
.contentType(MediaType.APPLICATION_JSON))
......@@ -95,7 +94,7 @@ public class LectureControllerTest {
@Test
void findLecture() throws Exception {
Long id = 0L;
Mockito.when(lectureController.find(id)).thenReturn(ResponseEntity.ok(lectureDto));
Mockito.when(lectureFacade.findById(id)).thenReturn(lectureDto);
mockMvc.perform(get("/lectures/find/" + id))
.andExpect(status().isOk())
.andExpect(jsonPath("$.lectureFrom").isNotEmpty())
......@@ -103,8 +102,7 @@ public class LectureControllerTest {
.andExpect(jsonPath("$.topic").value("Learning how to spell deprecated"))
.andExpect(jsonPath("$.capacity").value("10"))
.andExpect(jsonPath("$.lecturerId").value("0"))
.andExpect(jsonPath("$.courseId").value("0"))
.andReturn().getResponse().getContentAsString();
.andExpect(jsonPath("$.courseId").value("0"));
}
@Test
......@@ -116,13 +114,12 @@ public class LectureControllerTest {
@Test
void findLecturesByCourse() throws Exception {
Long id = 0L;
Mockito.when(lectureController.findByCourse(id)).thenReturn(ResponseEntity.ok(new ArrayList<>()));
Mockito.when(lectureFacade.findAll(id)).thenReturn(new ArrayList<>());
String response = mockMvc.perform(get("/lectures/findByCourse")
.param("courseId", String.valueOf(id)))
.andExpect(status().isOk())
.andReturn().getResponse().getContentAsString();
assertThat("response", response, is("[]"));
assertTrue(response.endsWith("[]"));
}
@Test
......@@ -134,9 +131,9 @@ public class LectureControllerTest {
@Test
void updateLecture() throws Exception {
Long id = 0L;
Mockito.when(lectureController.update(ArgumentMatchers.eq(id),
Mockito.when(lectureFacade.update(ArgumentMatchers.eq(id),
ArgumentMatchers.isA(LectureCreateDto.class)))
.thenReturn(ResponseEntity.ok(lectureDto));
.thenReturn(lectureDto);
mockMvc.perform(put("/lectures/update/" + id)
.content(asJsonString(lectureCreateDto))
.contentType(MediaType.APPLICATION_JSON))
......@@ -146,8 +143,7 @@ public class LectureControllerTest {
.andExpect(jsonPath("$.topic").value("Learning how to spell deprecated"))
.andExpect(jsonPath("$.capacity").value("10"))
.andExpect(jsonPath("$.lecturerId").value("0"))
.andExpect(jsonPath("$.courseId").value("0"))
.andReturn().getResponse().getContentAsString();
.andExpect(jsonPath("$.courseId").value("0"));
}
@Test
......@@ -159,7 +155,7 @@ public class LectureControllerTest {
@Test
void deleteLecture() throws Exception {
Long id = 0L;
Mockito.when(lectureController.delete(id)).thenReturn(ResponseEntity.noContent().build());
Mockito.doNothing().when(lectureFacade).delete(id);
mockMvc.perform(delete("/lectures/delete/" + id))
.andExpect(status().is2xxSuccessful());
}
......@@ -173,9 +169,9 @@ public class LectureControllerTest {
@Test
void setLecturerForLecture() throws Exception {
Long id = 0L;
Mockito.when(lectureController.setLecturer(ArgumentMatchers.eq(id),
Mockito.when(lectureFacade.setLecturer(ArgumentMatchers.eq(id),
ArgumentMatchers.isA(UserDto.class)))
.thenReturn(ResponseEntity.ok(lectureDto));
.thenReturn(lectureDto);
UserDto student = new UserDto("novakovat", "novakova@gamil.com", "Tereza",
"Nováková", new AddressDto());
mockMvc.perform(patch("/lectures/setLecturer/" + id)
......@@ -187,8 +183,7 @@ public class LectureControllerTest {
.andExpect(jsonPath("$.topic").value("Learning how to spell deprecated"))
.andExpect(jsonPath("$.capacity").value("10"))
.andExpect(jsonPath("$.lecturerId").value("0"))
.andExpect(jsonPath("$.courseId").value("0"))
.andReturn().getResponse().getContentAsString();
.andExpect(jsonPath("$.courseId").value("0"));
}
@Test
......@@ -200,9 +195,9 @@ public class LectureControllerTest {
@Test
void enrolLecture() throws Exception {
Long id = 0L;
Mockito.when(lectureController.enrol(ArgumentMatchers.eq(id),
Mockito.when(lectureFacade.enrol(ArgumentMatchers.eq(id),
ArgumentMatchers.isA(UserDto.class)))
.thenReturn(ResponseEntity.ok(lectureDto));
.thenReturn(lectureDto);
UserDto student = new UserDto("novakovat", "novakova@gamil.com", "Tereza",
"Nováková", new AddressDto());
mockMvc.perform(patch("/lectures/enrol/" + id)
......@@ -214,8 +209,7 @@ public class LectureControllerTest {
.andExpect(jsonPath("$.topic").value("Learning how to spell deprecated"))
.andExpect(jsonPath("$.capacity").value("10"))
.andExpect(jsonPath("$.lecturerId").value("0"))
.andExpect(jsonPath("$.courseId").value("0"))
.andReturn().getResponse().getContentAsString();
.andExpect(jsonPath("$.courseId").value("0"));
}
@Test
......@@ -227,9 +221,9 @@ public class LectureControllerTest {
@Test
void expelLecture() throws Exception {
Long id = 0L;
Mockito.when(lectureController.expel(ArgumentMatchers.eq(id),
Mockito.when(lectureFacade.expel(ArgumentMatchers.eq(id),
ArgumentMatchers.isA(UserDto.class)))
.thenReturn(ResponseEntity.ok(lectureDto));
.thenReturn(lectureDto);
UserDto student = new UserDto("novakovat", "novakova@gamil.com", "Tereza",
"Nováková", new AddressDto());
mockMvc.perform(patch("/lectures/expel/" + id)
......@@ -241,8 +235,7 @@ public class LectureControllerTest {
.andExpect(jsonPath("$.topic").value("Learning how to spell deprecated"))
.andExpect(jsonPath("$.capacity").value("10"))
.andExpect(jsonPath("$.lecturerId").value("0"))
.andExpect(jsonPath("$.courseId").value("0"))
.andReturn().getResponse().getContentAsString();
.andExpect(jsonPath("$.courseId").value("0"));
}
@Test
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment