You are here

protected function FileOnTranslatedEntityTest::setUp in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/file/tests/src/Functional/FileOnTranslatedEntityTest.php \Drupal\Tests\file\Functional\FileOnTranslatedEntityTest::setUp()

Overrides FileFieldTestBase::setUp

File

core/modules/file/tests/src/Functional/FileOnTranslatedEntityTest.php, line 34

Class

FileOnTranslatedEntityTest
Uploads files to translated nodes.

Namespace

Drupal\Tests\file\Functional

Code

protected function setUp() {
  parent::setUp();

  // This test expects unused managed files to be marked as temporary a file.
  $this
    ->config('file.settings')
    ->set('make_unused_managed_files_temporary', TRUE)
    ->save();

  // Create the "Basic page" node type.
  // @todo Remove the disabling of new revision creation in
  //   https://www.drupal.org/node/1239558.
  $this
    ->drupalCreateContentType([
    'type' => 'page',
    'name' => 'Basic page',
    'new_revision' => FALSE,
  ]);

  // Create a file field on the "Basic page" node type.
  $this->fieldName = strtolower($this
    ->randomMachineName());
  $this
    ->createFileField($this->fieldName, 'node', 'page');

  // Create and log in user.
  $permissions = [
    'access administration pages',
    'administer content translation',
    'administer content types',
    'administer languages',
    'create content translations',
    'create page content',
    'edit any page content',
    'translate any entity',
    'delete any page content',
  ];
  $admin_user = $this
    ->drupalCreateUser($permissions);
  $this
    ->drupalLogin($admin_user);

  // Add a second and third language.
  $edit = [];
  $edit['predefined_langcode'] = 'fr';
  $this
    ->drupalPostForm('admin/config/regional/language/add', $edit, t('Add language'));
  $edit = [];
  $edit['predefined_langcode'] = 'nl';
  $this
    ->drupalPostForm('admin/config/regional/language/add', $edit, t('Add language'));

  // Enable translation for "Basic page" nodes.
  $edit = [
    'entity_types[node]' => 1,
    'settings[node][page][translatable]' => 1,
    "settings[node][page][fields][{$this->fieldName}]" => 1,
  ];
  $this
    ->drupalPostForm('admin/config/regional/content-language', $edit, t('Save configuration'));
}