diff --git a/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/lecture/LectureControllerTest.java b/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/lecture/LectureControllerTest.java index 8da289104366b7ec4fec436ed13a76f5f0a74f6d..6e61cfc638299ff9624680830328ca31f6c184a4 100644 --- a/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/lecture/LectureControllerTest.java +++ b/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/lecture/LectureControllerTest.java @@ -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