@Test public void testMigrateAsyncAfterTransitionInstanceAddOutgoingFlowCase3() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(AsyncProcessModels.ASYNC_AFTER_USER_TASK_PROCESS); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(modify(AsyncProcessModels.ASYNC_AFTER_USER_TASK_PROCESS) .changeElementId("flow1", "flow2") .activityBuilder("userTask1") .sequenceFlowId("flow3") .userTask("userTask3") .endEvent() .done()); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance processInstance = rule.getRuntimeService().startProcessInstanceById(sourceProcessDefinition.getId()); testHelper.completeTask("userTask1"); // when try { testHelper.migrateProcessInstance(migrationPlan, processInstance); Assert.fail("should fail"); } catch (MigratingProcessInstanceValidationException e) { assertThat(e.getValidationReport()) .hasTransitionInstanceFailures("userTask1", "Transition instance is assigned to a sequence flow that cannot be matched in the target activity" ); } }
@Test public void testMigrateAsyncAfterTransitionInstanceAddOutgoingFlowCase3() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(AsyncProcessModels.ASYNC_AFTER_USER_TASK_PROCESS); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(modify(AsyncProcessModels.ASYNC_AFTER_USER_TASK_PROCESS) .changeElementId("flow1", "flow2") .activityBuilder("userTask1") .sequenceFlowId("flow3") .userTask("userTask3") .endEvent() .done()); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance processInstance = rule.getRuntimeService().startProcessInstanceById(sourceProcessDefinition.getId()); testHelper.completeTask("userTask1"); // when try { testHelper.migrateProcessInstance(migrationPlan, processInstance); Assert.fail("should fail"); } catch (MigratingProcessInstanceValidationException e) { assertThat(e.getValidationReport()) .hasTransitionInstanceFailures("userTask1", "Transition instance is assigned to a sequence flow that cannot be matched in the target activity" ); } }