test: 补充流水标签重算接口契约
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package com.ruoyi.ccdi.project.controller;
|
||||
|
||||
import com.ruoyi.ccdi.project.domain.dto.CcdiBankTagRebuildDTO;
|
||||
import com.ruoyi.ccdi.project.service.ICcdiBankTagService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 项目流水标签控制器
|
||||
*/
|
||||
@Tag(name = "项目流水标签")
|
||||
@RestController
|
||||
@RequestMapping("/ccdi/project/tags")
|
||||
public class CcdiBankTagController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private ICcdiBankTagService bankTagService;
|
||||
|
||||
/**
|
||||
* 手动提交流水标签重算任务
|
||||
*/
|
||||
@Operation(summary = "手动重算项目流水标签")
|
||||
@PostMapping("/rebuild")
|
||||
public AjaxResult rebuild(@Validated @RequestBody CcdiBankTagRebuildDTO dto) {
|
||||
String operator = SecurityUtils.getUsername();
|
||||
return success(bankTagService.submitRebuild(dto, operator));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ruoyi.ccdi.project.domain.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 流水标签重算请求参数
|
||||
*/
|
||||
@Data
|
||||
public class CcdiBankTagRebuildDTO {
|
||||
|
||||
/** 项目ID */
|
||||
@NotNull(message = "项目ID不能为空")
|
||||
private Long projectId;
|
||||
|
||||
/** 模型编码 */
|
||||
private String modelCode;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ruoyi.ccdi.project.service;
|
||||
|
||||
import com.ruoyi.ccdi.project.domain.dto.CcdiBankTagRebuildDTO;
|
||||
|
||||
/**
|
||||
* 流水标签服务接口
|
||||
*/
|
||||
public interface ICcdiBankTagService {
|
||||
|
||||
/**
|
||||
* 提交手动重算任务
|
||||
*
|
||||
* @param dto 重算请求
|
||||
* @param operator 操作人
|
||||
* @return 提示信息
|
||||
*/
|
||||
String submitRebuild(CcdiBankTagRebuildDTO dto, String operator);
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.ruoyi.ccdi.project.controller;
|
||||
|
||||
import com.ruoyi.ccdi.project.domain.dto.CcdiBankTagRebuildDTO;
|
||||
import com.ruoyi.ccdi.project.service.ICcdiBankTagService;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockedStatic;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.mockStatic;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class CcdiBankTagControllerTest {
|
||||
|
||||
@InjectMocks
|
||||
private CcdiBankTagController controller;
|
||||
|
||||
@Mock
|
||||
private ICcdiBankTagService bankTagService;
|
||||
|
||||
@Test
|
||||
void rebuild_shouldDelegateProjectAndModelCode() {
|
||||
CcdiBankTagRebuildDTO dto = new CcdiBankTagRebuildDTO();
|
||||
dto.setProjectId(40L);
|
||||
dto.setModelCode("LARGE_TRANSACTION");
|
||||
|
||||
when(bankTagService.submitRebuild(dto, "admin")).thenReturn("标签重算任务已提交");
|
||||
|
||||
try (MockedStatic<SecurityUtils> mocked = mockStatic(SecurityUtils.class)) {
|
||||
mocked.when(SecurityUtils::getUsername).thenReturn("admin");
|
||||
|
||||
AjaxResult result = controller.rebuild(dto);
|
||||
|
||||
assertEquals(200, result.get("code"));
|
||||
verify(bankTagService).submitRebuild(dto, "admin");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user