function ContentTranslationStandardFieldsTest::testFieldTranslatableArticle

Same name and namespace in other branches
  1. 9 core/modules/content_translation/tests/src/Functional/ContentTranslationStandardFieldsTest.php \Drupal\Tests\content_translation\Functional\ContentTranslationStandardFieldsTest::testFieldTranslatableArticle()
  2. 8.9.x core/modules/content_translation/tests/src/Functional/ContentTranslationStandardFieldsTest.php \Drupal\Tests\content_translation\Functional\ContentTranslationStandardFieldsTest::testFieldTranslatableArticle()
  3. 11.x core/modules/content_translation/tests/src/Functional/ContentTranslationStandardFieldsTest.php \Drupal\Tests\content_translation\Functional\ContentTranslationStandardFieldsTest::testFieldTranslatableArticle()

Tests that translatable fields are being rendered.

File

core/modules/content_translation/tests/src/Functional/ContentTranslationStandardFieldsTest.php, line 63

Class

ContentTranslationStandardFieldsTest
Tests the Content translation settings.

Namespace

Drupal\Tests\content_translation\Functional

Code

public function testFieldTranslatableArticle() {
    // Install block and field modules.
    \Drupal::service('module_installer')->install([
        'block',
        'block_content',
        'filter',
        'image',
        'text',
    ]);
    // Create a basic block type with a body field.
    $bundle = BlockContentType::create([
        'id' => 'basic',
        'label' => 'Basic',
        'revision' => FALSE,
    ]);
    $bundle->save();
    block_content_add_body_field($bundle->id());
    // Create a comment type with a body field.
    $bundle = CommentType::create([
        'id' => 'comment',
        'label' => 'Comment',
        'target_entity_type_id' => 'node',
    ]);
    $bundle->save();
    \Drupal::service('comment.manager')->addBodyField('comment');
    // Create the article content type and add a comment, image and tag field.
    $this->drupalCreateContentType([
        'type' => 'article',
        'title' => 'Article',
    ]);
    $entity_type_manager = \Drupal::entityTypeManager();
    $entity_type_manager->getStorage('field_storage_config')
        ->create([
        'entity_type' => 'node',
        'field_name' => 'comment',
        'type' => 'text',
    ])
        ->save();
    $entity_type_manager->getStorage('field_config')
        ->create([
        'label' => 'Comments',
        'field_name' => 'comment',
        'entity_type' => 'node',
        'bundle' => 'article',
    ])
        ->save();
    $entity_type_manager->getStorage('field_storage_config')
        ->create([
        'entity_type' => 'node',
        'field_name' => 'field_image',
        'type' => 'image',
    ])
        ->save();
    $entity_type_manager->getStorage('field_config')
        ->create([
        'label' => 'Image',
        'field_name' => 'field_image',
        'entity_type' => 'node',
        'bundle' => 'article',
    ])
        ->save();
    $entity_type_manager->getStorage('field_storage_config')
        ->create([
        'entity_type' => 'node',
        'field_name' => 'field_tags',
        'type' => 'text',
    ])
        ->save();
    $entity_type_manager->getStorage('field_config')
        ->create([
        'label' => 'Tags',
        'field_name' => 'field_tags',
        'entity_type' => 'node',
        'bundle' => 'article',
    ])
        ->save();
    $entity_type_manager->getStorage('field_storage_config')
        ->create([
        'entity_type' => 'user',
        'field_name' => 'user_picture',
        'type' => 'image',
    ])
        ->save();
    // Add a user picture field to the user entity.
    $entity_type_manager->getStorage('field_config')
        ->create([
        'label' => 'Tags',
        'field_name' => 'user_picture',
        'entity_type' => 'user',
        'bundle' => 'user',
    ])
        ->save();
    $path = 'admin/config/regional/content-language';
    $this->drupalGet($path);
    // Check content block fields.
    $this->assertSession()
        ->checkboxChecked('edit-settings-block-content-basic-fields-body');
    // Check comment fields.
    $this->assertSession()
        ->checkboxChecked('edit-settings-comment-comment-fields-comment-body');
    // Check node fields.
    $this->assertSession()
        ->checkboxChecked('edit-settings-node-article-fields-comment');
    $this->assertSession()
        ->checkboxChecked('edit-settings-node-article-fields-field-image');
    $this->assertSession()
        ->checkboxChecked('edit-settings-node-article-fields-field-tags');
    // Check user fields.
    $this->assertSession()
        ->checkboxChecked('edit-settings-user-user-fields-user-picture');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.