package com.boco.nbd.wios.flow;

import com.boco.nbd.framework.workflow.annotation.AnnotationUtils;
import com.boco.nbd.framework.workflow.entity.FlowNodeResponse;
import com.boco.nbd.framework.workflow.entity.GetTaskRequest;
import com.boco.nbd.framework.workflow.entity.TaskInfoResponse;
import com.boco.nbd.framework.workflow.entity.WorkTaskResponse;
import com.boco.nbd.framework.workflow.service.WorkflowService;
import com.boco.nbd.wios.BaseTest;
import com.boco.nbd.wios.flow.entity.FlowConstant;
import com.boco.nbd.wios.flow.entity.qo.CamsOrderQo;
import com.boco.nbd.wios.manage.service.impl.RoleService;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;
import java.util.Map;

/**
 * @author:cao hai
 * @date:2022/6/30 14:23
 * @version:V1.0
 * @description:FlowTest
 * @modify:
 */
public class FlowTest extends BaseTest {

    @Autowired
    private WorkflowService workflowService;

    @Autowired
    private RoleService roleService;

    /***
     * 查询左侧菜单列表
     */
    @Test
    public void testGetMenuList() {
        roleService.getMenuList(1);
    }

    @Test
    public void testGetArchivedWorkTask() {
        GetTaskRequest request = new GetTaskRequest();
        request.setPageSize(20);
        request.setPageIndex(1);
        request.setIsPaged(true);
        request.setFlowCode(FlowConstant.FLOW_CODE);
        CamsOrderQo qo=new CamsOrderQo();
        qo.setRegionId("165");
        qo.setUserName("测试");
        Map<String, Object> otherParam = AnnotationUtils.createOtherParam(qo);
        request.setOtherParam(otherParam);
        WorkTaskResponse response = workflowService.getMyInvolvedProcess(request);
        Assert.assertTrue(response.getPageCount() > 0);
    }

    /**
     * 节点
     */
    @Test
    public void testGetFlowNodeList() {
        List<FlowNodeResponse> responses = workflowService.getFlowNodeList(FlowConstant.FLOW_CODE);
        Assert.assertTrue(responses.size() > 0);

    }

    /**
     * 轨迹
     */
    @Test
    public void testGetWorkTrack() {
        List<TaskInfoResponse> responses = workflowService.getWorkTrack("46e6bd52-f91c-11ec-b117-00ff07dc8107");
        Assert.assertTrue(responses.size() > 0);
    }
}