use of com.enonic.xp.node.NodeId in project xp by enonic.
the class ReorderChildNodeCommandTest method move_last.
@Test
public void move_last() throws Exception {
final Node parentNode = createNode(CreateNodeParams.create().name("my-node").parent(NodePath.ROOT).build());
createChildNodes(parentNode);
setChildOrder(parentNode, NodeIndexPath.NAME, OrderExpr.Direction.ASC);
setChildOrder(parentNode, NodeIndexPath.MANUAL_ORDER_VALUE, OrderExpr.Direction.DESC);
// current node order: a,b,c,d,e,f
ReorderChildNodeCommand.create().parentNode(getNodeById(parentNode.id())).nodeToMove(getNodeById(NodeId.from("c"))).indexServiceInternal(this.indexServiceInternal).storageService(this.storageService).searchService(this.searchService).build().execute();
refresh();
final FindNodesByParentResult reOrderedResult = findByParent(FindNodesByParentParams.create().parentPath(parentNode.path()).build());
// updated node order: a,b,d,e,f,c
final Iterator<NodeId> iterator = reOrderedResult.getNodeIds().iterator();
assertEquals("a", iterator.next().toString());
assertEquals("b", iterator.next().toString());
assertEquals("d", iterator.next().toString());
assertEquals("e", iterator.next().toString());
assertEquals("f", iterator.next().toString());
assertEquals("c", iterator.next().toString());
}
use of com.enonic.xp.node.NodeId in project xp by enonic.
the class SetNodeChildOrderCommandTest method order_by_name_asc.
@Test
public void order_by_name_asc() throws Exception {
final FindNodesByParentResult result = createNodeAndReturnOrderedChildren(NodeIndexPath.NAME, OrderExpr.Direction.ASC);
String previousName = "";
for (final NodeId n : result.getNodeIds()) {
final Node node = getNode(n);
final boolean smallerThanPreviousName = previousName.compareTo(node.name().toString()) < 0;
assertTrue(Objects.equals(previousName, "") || smallerThanPreviousName);
previousName = node.name().toString();
}
}
use of com.enonic.xp.node.NodeId in project xp by enonic.
the class SetNodeChildOrderCommandTest method order_manual_initial_as_previous.
@Test
public void order_manual_initial_as_previous() throws Exception {
final Node node = createParentNode();
createChildNodes(node);
// Order initially by name
setChildOrder(node, ChildOrder.create().add(FieldOrderExpr.create(NodeIndexPath.NAME, OrderExpr.Direction.ASC)).build());
refresh();
// Now set order manual
setChildOrder(node, ChildOrder.create().add(FieldOrderExpr.create(NodeIndexPath.MANUAL_ORDER_VALUE, OrderExpr.Direction.DESC)).build());
refresh();
final FindNodesByParentResult result = findChildren(node);
// Verify same order as initial ordering, name desc
String previousName = "";
Long previousOrderValue = null;
for (final NodeId n : result.getNodeIds()) {
final Node currentNode = getNode(n);
final boolean largerThanPreviousName = previousName.compareTo(currentNode.name().toString()) < 0;
assertTrue(Objects.equals(previousName, "") || largerThanPreviousName, "Wrong value, previousValue = " + previousName + ", current = " + currentNode.name());
assertTrue(previousOrderValue == null || currentNode.getManualOrderValue() < previousOrderValue, "Wrong orderValue, previousOrderValue = " + previousOrderValue + ", current = " + currentNode.getManualOrderValue());
previousOrderValue = currentNode.getManualOrderValue();
previousName = currentNode.name().toString();
}
}
use of com.enonic.xp.node.NodeId in project xp by enonic.
the class NodeEventListenerTest method node_renamed_event.
@Test
public void node_renamed_event() throws Exception {
final NodeId nodeId = NodeId.from("node1");
final NodePath nodePath = NodePath.create(NodePath.ROOT, "nodeName").build();
final Node sourceNode = Node.create().id(nodeId).parentPath(nodePath.getParentPath()).name(nodePath.getLastElement().toString()).build();
final Node movedNode = Node.create(sourceNode).parentPath(NodePath.create("newParent").build()).build();
final Event localEvent = NodeEvents.renamed(sourceNode.path(), movedNode);
nodeEventListener.onEvent(Event.create(localEvent).localOrigin(false).build());
final NodeMovedParams nodeMovedParams = new NodeMovedParams(sourceNode.path(), movedNode.path(), sourceNode.id());
Mockito.verify(nodeStorageService, Mockito.times(1)).handleNodeMoved(Mockito.eq(nodeMovedParams), Mockito.isA(InternalContext.class));
}
use of com.enonic.xp.node.NodeId in project xp by enonic.
the class ResolveSyncWorkCommandTest method doAssertNodes.
private void doAssertNodes(final NodeIds result, final ExpectedNodes expectedNodes) {
boolean fail = false;
StringBuilder builder = new StringBuilder();
builder.append(LINE_SEPARATOR);
builder.append("Asserted size [").append(expectedNodes.nodes.size()).append("], actual [").append(result.getSize()).append("]");
builder.append(LINE_SEPARATOR);
for (final ExpectedNode expectedNode : expectedNodes) {
builder.append(LINE_SEPARATOR);
final boolean ok = result.contains(expectedNode.nodeId);
if (!ok) {
fail = true;
}
builder.append("Expected: ").append(expectedNode).append(", ").append(ok ? "<OK>" : "<Missing>");
}
for (final NodeId resultNode : result) {
final boolean ok = expectedNodes.contains(resultNode);
if (!ok) {
fail = true;
}
if (!ok) {
builder.append(LINE_SEPARATOR);
builder.append("Unexpected: ").append(resultNode);
}
}
if (fail) {
fail(builder.toString());
}
assertEquals(expectedNodes.nodes.size(), result.getSize(), createAssertFailMessage(result, expectedNodes));
}
Aggregations