use of org.kie.workbench.common.dmn.api.definition.model.InformationItemPrimary in project kie-wb-common by kiegroup.
the class DecisionTableEditorDefinitionEnricherTest method testModelEnrichmentWhenDecisionTypeRefIsStructureWithNoFields.
@Test
public void testModelEnrichmentWhenDecisionTypeRefIsStructureWithNoFields() {
final DMNGraphUtils dmnGraphUtils = mock(DMNGraphUtils.class);
final Definitions definitions = mock(Definitions.class);
final HasExpression hasExpression = mock(HasExpression.class);
final Decision decision = mock(Decision.class);
final InformationItemPrimary informationItemPrimary = mock(InformationItemPrimary.class);
final ItemDefinition tPerson = mock(ItemDefinition.class);
final QName tPersonTypeRef = new QName("", TYPE_PERSON);
when(tPerson.getName()).thenReturn(new Name(TYPE_PERSON));
when(tPerson.getTypeRef()).thenReturn(tPersonTypeRef);
when(tPerson.getItemComponent()).thenReturn(emptyList());
when(dmnGraphUtils.getModelDefinitions()).thenReturn(definitions);
when(definitions.getItemDefinition()).thenReturn(Collections.singletonList(tPerson));
when(hasExpression.asDMNModelInstrumentedBase()).thenReturn(decision);
when(decision.getVariable()).thenReturn(informationItemPrimary);
when(informationItemPrimary.getTypeRef()).thenReturn(tPersonTypeRef);
final DecisionTableEditorDefinitionEnricher enricher = new DecisionTableEditorDefinitionEnricher(null, dmnGraphUtils, itemDefinitionUtils);
final Optional<DecisionTable> oModel = definition.getModelClass();
final DecisionTable model = oModel.get();
enricher.buildOutputClausesByDataType(hasExpression, model, new DecisionRule());
final List<OutputClause> outputClauses = model.getOutput();
assertThat(outputClauses.size()).isEqualTo(1);
final OutputClause outputClause = outputClauses.get(0);
assertEquals(DEFAULT_OUTPUT_NAME, outputClause.getName());
assertEquals(tPersonTypeRef, outputClause.getTypeRef());
}
use of org.kie.workbench.common.dmn.api.definition.model.InformationItemPrimary in project kie-wb-common by kiegroup.
the class DMNDocumentationDRDsFactoryTest method testCreate.
@Test
public void testCreate() {
final String nodeUUID1 = "1111-1111-1111-1111";
final String nodeUUID2 = "2222-2222-2222-2222";
final Node<View, Edge> node1 = new NodeImpl<>(nodeUUID1);
final Node<View, Edge> node2 = new NodeImpl<>(nodeUUID2);
final View view1 = mock(View.class);
final View view2 = mock(View.class);
final HasExpression hasExpression1 = mock(HasExpression.class);
final List<Node<View, Edge>> nodes = asList(node1, node2);
final Decision drgElement1 = new Decision();
final InputData drgElement2 = new InputData();
final String name1 = "Decision-1";
final String name2 = "Input-data-2";
final String description1 = "Description...";
final InformationItemPrimary variable1 = new InformationItemPrimary();
final QName typeRef1 = BOOLEAN.asQName();
final String image1 = "<image1>";
final DMNExternalLink externalLink = new DMNExternalLink();
final DocumentationLinksHolder linksHolder = new DocumentationLinksHolder();
linksHolder.getValue().addLink(externalLink);
drgElement2.setLinksHolder(linksHolder);
node1.setContent(view1);
node2.setContent(view2);
when(view1.getDefinition()).thenReturn(drgElement1);
when(view2.getDefinition()).thenReturn(drgElement2);
when(expressionHelper.getOptionalHasExpression(node1)).thenReturn(Optional.ofNullable(hasExpression1));
when(expressionHelper.getOptionalHasExpression(node2)).thenReturn(Optional.empty());
when(expressionContainerGrid.getNodeUUID()).thenReturn(Optional.of(nodeUUID2));
when(graph.nodes()).thenReturn(nodes);
doReturn(image1).when(factory).getNodeImage(diagram, node1);
doNothing().when(factory).setExpressionContainerGrid(any(), any());
variable1.setTypeRef(typeRef1);
drgElement1.setVariable(variable1);
drgElement1.setDescription(new Description(description1));
drgElement1.setName(new Name(name1));
drgElement2.setName(new Name(name2));
final List<DMNDocumentationDRD> drds = factory.create(diagram);
final DMNDocumentationDRD documentationDRD1 = drds.get(0);
final DMNDocumentationDRD documentationDRD2 = drds.get(1);
assertEquals(2, drds.size());
assertEquals(name1, documentationDRD1.getDrdName());
assertEquals(BOOLEAN.getName(), documentationDRD1.getDrdType());
assertEquals(description1, documentationDRD1.getDrdDescription());
assertEquals(image1, documentationDRD1.getDrdBoxedExpressionImage());
assertEquals(NONE, documentationDRD2.getDrdDescription());
assertEquals(UNDEFINED.getName(), documentationDRD2.getDrdType());
assertEquals(name2, documentationDRD2.getDrdName());
assertEquals(NONE, documentationDRD2.getDrdBoxedExpressionImage());
assertFalse(documentationDRD1.getHasExternalLinks());
assertTrue(documentationDRD2.getHasExternalLinks());
verify(factory).setExpressionContainerGrid(diagram, nodeUUID2);
}
use of org.kie.workbench.common.dmn.api.definition.model.InformationItemPrimary in project kie-wb-common by kiegroup.
the class DecisionServiceParametersListWidgetTest method testAddDecisionNodeToGroup.
@Test
public void testAddDecisionNodeToGroup() {
final ParameterGroup group = mock(ParameterGroup.class);
final Node node = mock(Node.class);
final Definition definition = mock(Definition.class);
final Decision decision = mock(Decision.class);
final InformationItemPrimary variable = mock(InformationItemPrimary.class);
final String decisionName = "decision name";
final String type = "type";
final QName typeRef = mock(QName.class);
when(definition.getDefinition()).thenReturn(decision);
when(node.getContent()).thenReturn(definition);
when(decision.getVariable()).thenReturn(variable);
when(decision.getName()).thenReturn(new Name(decisionName));
when(typeRef.getLocalPart()).thenReturn(type);
when(variable.getTypeRef()).thenReturn(typeRef);
widget.addDecisionNodeToGroup(group, node);
verify(group).addParameter(decisionName, type);
}
use of org.kie.workbench.common.dmn.api.definition.model.InformationItemPrimary in project kie-wb-common by kiegroup.
the class DecisionServiceConverterTest method testDMNFromWB.
@Test
public void testDMNFromWB() {
final DecisionService wb = new DecisionService();
final InformationItemPrimary informationItem = new InformationItemPrimary();
wb.getId().setValue(DECISION_SERVICE_UUID);
wb.getName().setValue(DECISION_SERVICE_NAME);
wb.getDescription().setValue(DECISION_SERVICE_DESCRIPTION);
wb.setVariable(informationItem);
final Node<View<DecisionService>, ?> node = new NodeImpl<>(UUID.uuid());
final View<DecisionService> view = new ViewImpl<>(wb, Bounds.create());
node.setContent(view);
final org.kie.dmn.model.api.DecisionService dmn = converter.dmnFromNode(node, componentWidthsConsumer);
assertThat(dmn).isNotNull();
assertThat(dmn.getId()).isNotNull();
assertThat(dmn.getId()).isEqualTo(DECISION_SERVICE_UUID);
assertThat(dmn.getName()).isNotNull();
assertThat(dmn.getName()).isEqualTo(DECISION_SERVICE_NAME);
assertThat(dmn.getDescription()).isNotNull();
assertThat(dmn.getDescription()).isEqualTo(DECISION_SERVICE_DESCRIPTION);
assertThat(dmn.getVariable()).isNotNull();
assertThat(dmn.getVariable().getName()).isEqualTo(DECISION_SERVICE_NAME);
verifyNoMoreInteractions(componentWidthsConsumer);
}
use of org.kie.workbench.common.dmn.api.definition.model.InformationItemPrimary in project kie-wb-common by kiegroup.
the class InformationItemPrimaryPropertyConverterTest method testWbFromDMNWhenDMNIsNull.
@Test
public void testWbFromDMNWhenDMNIsNull() {
final InformationItem dmn = null;
final InformationItemPrimary informationItemPrimary = InformationItemPrimaryPropertyConverter.wbFromDMN(dmn, dmn);
assertNull(informationItemPrimary);
}
Aggregations