public function TaxonomyTermParentMultilingualTest::testMultilingualTermParentUpdate in Drupal 8
Tests taxonomy multilingual term parents update.
See also
File
- core/
modules/ taxonomy/ tests/ src/ Functional/ Update/ TaxonomyTermParentMultilingualTest.php, line 36
Class
- TaxonomyTermParentMultilingualTest
- Tests the upgrade path for taxonomy parents with multilingual terms.
Namespace
Drupal\Tests\taxonomy\Functional\UpdateCode
public function testMultilingualTermParentUpdate() {
// There are 65 terms in the database. Process them in groups of 30 to test
// batching.
$settings['entity_update_batch_size'] = (object) [
'value' => 30,
'required' => TRUE,
];
$this
->writeSettings($settings);
$this
->runUpdates();
$term = Term::load(65);
$this
->assertSame('64', $term->parent[0]->target_id);
// Term 2 should have the root parent.
$term = Term::load(2);
$this
->assertSame('0', $term->parent[0]->target_id);
// Log in as user 1.
$account = User::load(1);
$account->passRaw = 'drupal';
$this
->drupalLogin($account);
// Make sure our vocabulary exists.
$this
->drupalGet('admin/structure/taxonomy/manage/test_vocabulary/overview');
// Make sure our terms exist.
$assert_session = $this
->assertSession();
$assert_session
->pageTextContains('Test root term');
$assert_session
->pageTextContains('Test child term');
// Make sure the terms are still translated.
$this
->drupalGet('taxonomy/term/2/translations');
$assert_session
->linkExists('Test root term - Spanish');
$storage = \Drupal::entityTypeManager()
->getStorage('taxonomy_term');
// Check that the 'content_translation_status' field has been updated
// correctly.
/** @var \Drupal\taxonomy\TermInterface $term */
$term = $storage
->load(2);
$translation = $term
->getTranslation('es');
$this
->assertTrue($translation
->isPublished());
}