public function ReorderChildrenWithRevisionsFunctionalTest::testReordering in Entity Reference Hierarchy 3.x
Same name and namespace in other branches
- 8.2 tests/src/Functional/ReorderChildrenWithRevisionsFunctionalTest.php \Drupal\Tests\entity_hierarchy\Functional\ReorderChildrenWithRevisionsFunctionalTest::testReordering()
Tests children reorder form.
File
- tests/
src/ Functional/ ReorderChildrenWithRevisionsFunctionalTest.php, line 91
Class
- ReorderChildrenWithRevisionsFunctionalTest
- Tests reordering with revisions.
Namespace
Drupal\Tests\entity_hierarchy\FunctionalCode
public function testReordering() {
$entities = $this
->createChildEntities($this->parent
->id());
$root_node = $this->treeStorage
->getNode($this->parentStub);
$children = $this->treeStorage
->findChildren($root_node
->getNodeKey());
$mapper = $this->container
->get('entity_hierarchy.entity_tree_node_mapper');
$ancestors = $mapper
->loadEntitiesForTreeNodesWithoutAccessChecks('entity_test_rev', $children);
$labels = $this
->getLabels($ancestors);
$this
->assertEquals([
'Child 5',
'Child 4',
'Child 3',
'Child 2',
'Child 1',
], $labels);
// Now insert one in the middle.
$name = 'Child 6';
$entities[$name] = $this
->createTestEntity($this->parent
->id(), $name, -2);
$children = $this->treeStorage
->findChildren($root_node
->getNodeKey());
$ancestors = $mapper
->loadEntitiesForTreeNodesWithoutAccessChecks('entity_test_rev', $children);
$labels = $this
->getLabels($ancestors);
$this
->assertEquals([
'Child 5',
'Child 4',
'Child 3',
'Child 2',
'Child 6',
'Child 1',
], $labels);
// Now we visit the form for reordering.
$this
->drupalLogin($this
->drupalCreateUser([
'reorder entity_hierarchy children',
'view test entity',
'administer entity_test content',
]));
$this
->drupalGet($this->parent
->toUrl('entity_hierarchy_reorder'));
$assert = $this
->assertSession();
$assert
->statusCodeEquals(200);
foreach ($entities as $entity) {
$assert
->linkExists($entity
->label());
}
// Now move Child 6 to the top.
$this
->submitForm([
'children[' . $entities[$name]
->id() . '][weight]' => -10,
], 'Update child order');
$children = $this->treeStorage
->findChildren($root_node
->getNodeKey());
$ancestors = $mapper
->loadEntitiesForTreeNodesWithoutAccessChecks('entity_test_rev', $children);
$labels = $this
->getLabels($ancestors);
$this
->assertEquals([
'Child 6',
'Child 5',
'Child 4',
'Child 3',
'Child 2',
'Child 1',
], $labels);
}