@Test public void testOutputSourceExpression() { // given: String source = "${a}"; ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaOut sourceElement = createElement(extensionElements, null, CamundaOut.class); sourceElement.setCamundaSourceExpression(source); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); CallableElementParameter parameter = callableElement.getOutputs().get(0); assertNotNull(parameter); assertFalse(parameter.isAllVariables()); ParameterValueProvider sourceExpressionValueProvider = parameter.getSourceValueProvider(); assertNotNull(sourceExpressionValueProvider); assertTrue(sourceExpressionValueProvider instanceof ElValueProvider); ElValueProvider valueProvider = (ElValueProvider) sourceExpressionValueProvider; assertEquals(source, valueProvider.getExpression().getExpressionText()); }
@Test public void testOutputVariables() { // given: ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaOut variablesElement = createElement(extensionElements, null, CamundaOut.class); variablesElement.setCamundaVariables("all"); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); CallableElementParameter parameter = callableElement.getOutputs().get(0); assertNotNull(parameter); assertTrue(parameter.isAllVariables()); }
@Test public void testOutputTarget() { // given: String target = "b"; ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaOut sourceElement = createElement(extensionElements, null, CamundaOut.class); sourceElement.setCamundaTarget(target); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); CallableElementParameter parameter = callableElement.getOutputs().get(0); assertNotNull(parameter); assertFalse(parameter.isAllVariables()); assertEquals(target, parameter.getTarget()); }
@Test public void testOutputs() { // given: ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaOut variablesElement = createElement(extensionElements, null, CamundaOut.class); variablesElement.setCamundaVariables("all"); CamundaOut sourceElement = createElement(extensionElements, null, CamundaOut.class); sourceElement.setCamundaSource("a"); CamundaOut sourceExpressionElement = createElement(extensionElements, null, CamundaOut.class); sourceExpressionElement.setCamundaSourceExpression("${b}"); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); List<CallableElementParameter> outputs = callableElement.getOutputs(); assertNotNull(outputs); assertFalse(outputs.isEmpty()); assertEquals(3, outputs.size()); }