#spring-boot #junit #mocking #mockito #junit5
Вопрос:
Поэтому я пытаюсь найти способ проверить, являются ли параметры, которые я отправляю в perform.get, правильными значениями. Мой тест заключается в следующем:
@Test
void getFindAvailableTimeSlotsShouldReturnHttpStatusOKWhenRequestIsOK() throws Exception {
List<String> expectedOutput = Arrays.asList("09:00-09:10", "09:10-09:20", "09:20-09:30", "09:30-09:40", "09:40-09:50", "09:50-10:00");
when(appointmentService.findAvailableTimeSlots(USER_ID, JOB_OFFER_ID)).thenReturn(expectedOutput);
JWTClaim jwtClaim = JWTClaimBuilder.aJWTClaim().build();
try (MockedStatic<AuthorizationUtil> authorizationUtil = Mockito.mockStatic(AuthorizationUtil.class)) {
authorizationUtil.when(() -> AuthorizationUtil.userIsAuthorized(BEARER_TOKEN, Role.COMPANY)).thenReturn(true);
try (MockedStatic<JWTTokenService> jwtTokenUtil = Mockito.mockStatic(JWTTokenService.class)) {
jwtTokenUtil.when(() -> JWTTokenService.verifyToken(AuthorizationUtil.getToken(BEARER_TOKEN))).thenReturn(jwtClaim);
mockMvc.perform(MockMvcRequestBuilders.get("/appointment/{studentId}/{jobOfferId}", 1L, 1L)
.header("Authorization", BEARER_TOKEN))
.andExpect(status().isOk())
.andExpect(content().contentType("application/json"))
.andExpect(jsonPath("studentId").value("1"));
}
} catch (Exception e) {
Assertions.fail();
}
}
Поэтому в настоящее время я пытаюсь проверить, являются ли параметры правильным значением, используя .andExpect, но я чувствую, что делаю что-то не так.
mockMvc.perform(MockMvcRequestBuilders.get("/appointment/{studentId}/{jobOfferId}", 1L, 1L)
.header("Authorization", BEARER_TOKEN))
.andExpect(status().isOk())
.andExpect(content().contentType("application/json"))
.andExpect(jsonPath("studentId").value("1"));
}
Можно ли проверить значения параметров?