file_encrypt-8.x-1.x-dev/tests/src/Functional/FieldStorageConfigurationTest.php

tests/src/Functional/FieldStorageConfigurationTest.php
<?php

namespace Drupal\Tests\file_encrypt\Functional;

use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\node\Entity\NodeType;

/**
 * Tests the field storage configuration UI.
 *
 * @group file_encrypt
 */
class FieldStorageConfigurationTest extends FunctionalTestBase {

  /**
   * Tests the field storage adding.
   */
  public function testFieldStorageSettingsForm() {
    $account = $this->drupalCreateUser([
      'administer content types',
      'administer node fields',
      'administer node display',
    ]);
    $this->drupalLogin($account);

    NodeType::create([
      'type' => 'page',
    ])->save();

    $assert = $this->assertSession();
    // Test a file field.
    $this->drupalGet('admin/structure/types/manage/page/fields/add-field');
    $assert->statusCodeEquals(200);

    $this->submitForm([
      'new_storage_type' => 'file_upload',
    ], 'Continue');

    $this->submitForm([
      'field_name' => 'test_file',
      'label' => 'New file field',
      'group_field_options_wrapper' => 'file',
    ], 'Continue');

    $this->submitForm([
      'field_storage[subform][settings][uri_scheme]' => 'encrypt',
      'field_storage[subform][settings][encryption_profile]' => 'encryption_profile_1',
    ], 'Save settings');

    $field_storage_config = FieldStorageConfig::load('node.field_test_file');
    $this->assertEquals('encryption_profile_1', $field_storage_config->getThirdPartySetting('file_encrypt', 'encryption_profile'));

    $field_config = FieldConfig::load('node.page.field_test_file');
    $this->assertStringStartsWith('encryption_profile_1', $field_config->getSetting('file_directory'));

    // Test an image field.
    $this->drupalGet('admin/structure/types/manage/page/fields/add-field');
    $assert->statusCodeEquals(200);

    $this->submitForm([
      'new_storage_type' => 'file_upload',
    ], 'Continue');

    $this->submitForm([
      'field_name' => 'test_image',
      'label' => 'New image field',
      'group_field_options_wrapper' => 'image',
    ], 'Continue');

    $this->submitForm([
      'field_storage[subform][settings][uri_scheme]' => 'encrypt',
      'field_storage[subform][settings][encryption_profile]' => 'encryption_profile_1',
    ], 'Save settings');

    $field_storage_config = FieldStorageConfig::load('node.field_test_image');
    $this->assertEquals('encryption_profile_1', $field_storage_config->getThirdPartySetting('file_encrypt', 'encryption_profile'));

    $field_config = FieldConfig::load('node.page.field_test_file');
    $this->assertStringStartsWith('encryption_profile_1', $field_config->getSetting('file_directory'));
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc