### Question:
DecisionNavigatorNestedItemFactory { public DecisionNavigatorItem makeItem(final Node<View, Edge> node) { final String uuid = getUUID(node); final DecisionNavigatorItem.Type type = getType(node); final String label = getLabel(node); final String parentUUID = node.getUUID(); final Command onClick = makeOnClickCommand(node, parentUUID); return navigatorItemBuilder() .withUUID(uuid) .withLabel(label) .withType(type) .withOnClick(onClick) .withParentUUID(parentUUID) .build(); } @Inject  DecisionNavigatorNestedItemFactory(final SessionManager sessionManager,
                                              final Event<EditExpressionEvent> editExpressionEvent,
                                              final DMNGraphUtils dmnGraphUtils,
                                              final @DMNEditor Supplier<ExpressionEditorDefinitions> expressionEditorDefinitionsSupplier,
                                              final Event<CanvasSelectionEvent> canvasSelectionEvent,
                                              final BoxedExpressionHelper helper); DecisionNavigatorItem makeItem(final Node<View, Edge> node); boolean hasNestedElement(final Node<View, Edge> node);  }### Answer:
@Test public void testMakeItem() { final String uuid = "uuid"; final String label = "label"; final DecisionNavigatorItem.Type type = DECISION_TABLE; final Command command = mock(Command.class); final String parentUUID = "parentUUID"; when(node.getUUID()).thenReturn(parentUUID); doReturn(uuid).when(factory).getUUID(node); doReturn(label).when(factory).getLabel(node); doReturn(type).when(factory).getType(node); doReturn(command).when(factory).makeOnClickCommand(node, parentUUID); final DecisionNavigatorItem item = factory.makeItem(node); assertTrue(item.getOnClick().isPresent()); assertEquals(command, item.getOnClick().get()); assertEquals(uuid, item.getUUID()); assertEquals(label, item.getLabel()); assertEquals(type, item.getType()); assertEquals(parentUUID, item.getParentUUID()); }