1. 配置数据库日志输出 2. 任务更新API与测试类 3. 任务删除API与测试类

This commit is contained in:
guo
2024-07-16 21:34:00 +08:00
parent ab252d547f
commit 9e7128a7be
5 changed files with 40 additions and 11 deletions
@@ -1,13 +1,13 @@
package com.guo.learningprogresstracker.controller;
import cn.dev33.satoken.stp.StpUtil;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.guo.learningprogresstracker.dto.request.TaskRequest;
import com.guo.learningprogresstracker.entity.CommonResult;
import com.guo.learningprogresstracker.entity.TaskEntity;
import com.guo.learningprogresstracker.service.impl.TasksServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -23,11 +23,13 @@ import static org.mockito.Mockito.when;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
@SpringBootTest
@AutoConfigureMockMvc
@Slf4j
class TaskControllerTest {
@Autowired
@@ -49,7 +51,7 @@ class TaskControllerTest {
@Test
void addTask() throws Exception {
TaskRequest taskRequest = getTaskRequest();
log.info("testInfo");
String s = jacksonObjectMapper.writeValueAsString(taskRequest);
System.out.println("Token Value: " + StpUtil.getTokenValue());
mockMvc.perform(post("/tasks")
@@ -104,23 +106,32 @@ class TaskControllerTest {
}
@Test
void updateTask() {
void updateTask() throws Exception {
TaskRequest taskRequest = mock(TaskRequest.class);
when(taskRequest.getTaskName()).thenReturn("测试数据名称");
when(taskRequest.getMaterialUrl()).thenReturn("http://example.com/material");
CommonResult commonResult = taskController.updateTask("0", taskRequest);
assertEquals(commonResult.getData(), 200, "任务信息更新失败");
when(taskRequest.getId()).thenReturn(1);
String s = jacksonObjectMapper.writeValueAsString(taskRequest);
mockMvc.perform(put("/tasks/"+taskRequest.getId())
.header("satoken",StpUtil.getTokenValue())
.contentType(MediaType.APPLICATION_JSON)
.content(s))
.andDo(print())
.andExpect(jsonPath("$.code").value(200))
.andExpect(jsonPath("$.data").isEmpty());
}
@Test
void deleteTask() throws Exception {
CommonResult commonResult = taskController.addTask(getTaskRequest());
assertEquals(ObjectUtils.isNotEmpty(commonResult.getMessage()),"任务创建失败");
assertEquals(commonResult.getCode(),200);
TaskEntity taskEntity = tasksServiceImpl.getOne(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getTaskNum, commonResult.getMessage()));
assertNotNull(taskEntity,"未能找到新创建的任务实体");
mockMvc.perform(delete("/tasks/"+taskEntity.getId()))
mockMvc.perform(delete("/tasks/"+taskEntity.getId())
.header("satoken",StpUtil.getTokenValue()))
.andDo(print())
.andExpect(jsonPath("$.code").value(200))
.andExpect(jsonPath("$.data").isEmpty());