| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package com.malk.minglei.controller;
- import com.fasterxml.jackson.core.type.TypeReference;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.malk.minglei.dto.ApiResponse;
- import com.malk.minglei.dto.YidaProcessStartRequest;
- import com.malk.minglei.service.MingleiDocumentService;
- import com.malk.minglei.service.YidaProcessService;
- import org.junit.jupiter.api.Test;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.ResponseEntity;
- import java.util.Map;
- import static org.junit.jupiter.api.Assertions.assertEquals;
- import static org.mockito.ArgumentMatchers.any;
- import static org.mockito.BDDMockito.given;
- import static org.mockito.Mockito.mock;
- /**
- * 验证宜搭流程接口的 HTTP 状态和统一响应体结构。
- */
- class YidaProcessControllerTest {
- /**
- * 验证流程发起成功时将实例 ID 写入统一响应的 result 字段。
- */
- @Test
- void startReturnsProcessInstanceIdInUnifiedResponse() throws Exception {
- YidaProcessService yidaProcessService = mock(YidaProcessService.class);
- given(yidaProcessService.startProcess(any(YidaProcessStartRequest.class))).willReturn("process-instance-1");
- YidaProcessController controller = new YidaProcessController(yidaProcessService, mock(MingleiDocumentService.class));
- ResponseEntity<ApiResponse<Map<String, String>>> response = controller.start(new YidaProcessStartRequest());
- ObjectMapper objectMapper = new ObjectMapper();
- Map<String, Object> body = objectMapper.readValue(
- objectMapper.writeValueAsString(response.getBody()),
- new TypeReference<Map<String, Object>>() {
- });
- assertEquals(HttpStatus.CREATED, response.getStatusCode());
- assertEquals(200, body.get("code"));
- assertEquals(true, body.get("isSuccess"));
- assertEquals("process-instance-1", ((Map<?, ?>) body.get("result")).get("processInstanceId"));
- }
- }
|