function TermParentsTest::testAddWithParents
Same name in other branches
- 9 core/modules/taxonomy/tests/src/Functional/TermParentsTest.php \Drupal\Tests\taxonomy\Functional\TermParentsTest::testAddWithParents()
- 8.9.x core/modules/taxonomy/tests/src/Functional/TermParentsTest.php \Drupal\Tests\taxonomy\Functional\TermParentsTest::testAddWithParents()
- 10 core/modules/taxonomy/tests/src/Functional/TermParentsTest.php \Drupal\Tests\taxonomy\Functional\TermParentsTest::testAddWithParents()
Tests specifying parents when creating terms.
File
-
core/
modules/ taxonomy/ tests/ src/ Functional/ TermParentsTest.php, line 67
Class
- TermParentsTest
- Tests managing taxonomy parents through the user interface.
Namespace
Drupal\Tests\taxonomy\FunctionalCode
public function testAddWithParents() : void {
$this->drupalGet("/admin/structure/taxonomy/manage/{$this->vocabularyId}/add");
$page = $this->getSession()
->getPage();
// Create a term without any parents.
$term_1 = $this->submitAddTermForm('Test term 1');
$expected = [
[
'target_id' => 0,
],
];
$this->assertEquals($expected, $term_1->get('parent')
->getValue());
// Explicitly selecting <root> should have the same effect as not selecting
// anything.
$page->selectFieldOption('Parent terms', '<root>');
$term_2 = $this->submitAddTermForm('Test term 2');
$this->assertEquals($expected, $term_2->get('parent')
->getValue());
// Create two terms with the previously created ones as parents,
// respectively.
$page->selectFieldOption('Parent terms', 'Test term 1');
$term_3 = $this->submitAddTermForm('Test term 3');
$expected = [
[
'target_id' => $term_1->id(),
],
];
$this->assertEquals($expected, $term_3->get('parent')
->getValue());
$page->selectFieldOption('Parent terms', 'Test term 2');
$term_4 = $this->submitAddTermForm('Test term 4');
$expected = [
[
'target_id' => $term_2->id(),
],
];
$this->assertEquals($expected, $term_4->get('parent')
->getValue());
// Create a term with term 3 as parent.
$page->selectFieldOption('Parent terms', '-Test term 3');
$term_5 = $this->submitAddTermForm('Test term 5');
$expected = [
[
'target_id' => $term_3->id(),
],
];
$this->assertEquals($expected, $term_5->get('parent')
->getValue());
// Create a term with multiple parents.
$page->selectFieldOption('Parent terms', '--Test term 5');
$page->selectFieldOption('Parent terms', '-Test term 4', TRUE);
$term_6 = $this->submitAddTermForm('Test term 6');
$expected = [
[
'target_id' => $term_5->id(),
],
[
'target_id' => $term_4->id(),
],
];
$this->assertEquals($expected, $term_6->get('parent')
->getValue());
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.