@@ -713,6 +713,89 @@ void postponedAndUrgeTest() {
713713
714714 }
715715
716+ /**
717+ * 一直退回的测试
718+ */
719+ @ Test
720+ void rejectAllTest () {
721+ PageRequest pageRequest = PageRequest .of (0 , 1000 );
722+
723+ User user = new User ("张飞" );
724+ userRepository .save (user );
725+
726+ User dept = new User ("刘备" );
727+ userRepository .save (dept );
728+
729+ User boss = new User ("诸葛亮" );
730+ userRepository .save (boss );
731+
732+ FlowWork flowWork = FlowWorkBuilder .builder (user )
733+ .title ("请假流程" )
734+ .skipIfSameApprover (true )
735+ .nodes ()
736+ .node ("开始节点" , "start" , "default" , ApprovalType .UN_SIGN , OperatorMatcher .anyOperatorMatcher ())
737+ .node ("部门领导审批" , "dept" , "default" , ApprovalType .UN_SIGN , OperatorMatcher .specifyOperatorMatcher (user .getUserId ()))
738+ .node ("办公室领导审批" , "office" , "default" , ApprovalType .UN_SIGN , OperatorMatcher .specifyOperatorMatcher (dept .getUserId ()))
739+ .node ("总经理审批" , "manager" , "default" , ApprovalType .UN_SIGN , OperatorMatcher .specifyOperatorMatcher (boss .getUserId ()))
740+ .node ("结束节点" , "over" , "default" , ApprovalType .UN_SIGN , OperatorMatcher .anyOperatorMatcher ())
741+ .relations ()
742+ .relation ("部门领导审批" , "start" , "dept" )
743+ .relation ("办公室领导审批" , "dept" , "office" )
744+ .relation ("总经理审批" , "office" , "manager" )
745+ .relation ("结束节点" , "manager" , "over" )
746+ .build ();
747+
748+ flowWorkRepository .save (flowWork );
749+
750+ String workCode = flowWork .getCode ();
751+
752+ Leave leave = new Leave ("我要出去看看" );
753+ leaveRepository .save (leave );
754+
755+ // 创建流程
756+ flowService .startFlow (workCode , user , leave , "发起流程" );
757+
758+ // 查看我的待办
759+ List <FlowRecord > userTodos = flowRecordRepository .findTodoByOperatorId (user .getUserId (), pageRequest ).getContent ();
760+ assertEquals (1 , userTodos .size ());
761+
762+ // 提交流程
763+ FlowRecord userTodo = userTodos .get (0 );
764+
765+ // 查看流程详情
766+ FlowDetail flowDetail = flowService .detail (userTodo .getId ());
767+ assertEquals ("我要出去看看" , ((Leave ) flowDetail .getBindData ()).getTitle ());
768+ assertTrue (flowDetail .getFlowRecord ().isUnRead ());
769+
770+
771+ flowService .submitFlow (userTodo .getId (), user , leave , Opinion .pass ("同意" ));
772+
773+ // 查看部门经理的待办
774+ List <FlowRecord > deptTodos = flowRecordRepository .findTodoByOperatorId (dept .getUserId (), pageRequest ).getContent ();
775+ assertEquals (1 , deptTodos .size ());
776+
777+ // 提交部门经理的审批
778+ FlowRecord deptTodo = deptTodos .get (0 );
779+ flowService .submitFlow (deptTodo .getId (), dept , leave , Opinion .reject ("不同意" ));
780+
781+ userTodos = flowRecordRepository .findTodoByOperatorId (user .getUserId (), pageRequest ).getContent ();
782+ assertEquals (1 , userTodos .size ());
783+
784+ // 提交流程
785+ userTodo = userTodos .get (0 );
786+ flowService .submitFlow (userTodo .getId (), user , leave , Opinion .reject ("不同意" ));
787+
788+ userTodos = flowRecordRepository .findTodoByOperatorId (user .getUserId (), pageRequest ).getContent ();
789+ assertEquals (1 , userTodos .size ());
790+
791+ userTodo = userTodos .get (0 );
792+
793+ System .out .println (userTodo .getNodeCode ());
794+
795+ assertEquals ("start" , userTodo .getNodeCode ());
796+ }
797+
798+
716799 /**
717800 * 部门拒绝再提交测试
718801 */
0 commit comments