name-8.x-1.x-dev/tests/src/Kernel/NameUserTest.php

tests/src/Kernel/NameUserTest.php
<?php

namespace Drupal\Tests\name\Kernel;

use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\KernelTests\KernelTestBase;
use Drupal\user\Entity\User;

/**
 * Tests the integration with user module.
 *
 * @group name
 */
class NameUserTest extends KernelTestBase {

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'field',
    'name',
    'user',
    'system',
  ];

  /**
   * The entity listener.
   *
   * @var \Drupal\Core\Entity\EntityTypeListener
   */
  protected $entityListener;

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();
    $this->installConfig(self::$modules);
    $this->installSchema('system', ['sequences']);

    $this->entityListener = \Drupal::service('entity_type.listener');
    $this->entityListener->onEntityTypeCreate(\Drupal::entityTypeManager()->getDefinition('user'));
  }

  /**
   * Tests the user hooks.
   */
  public function testUserHooks() {
    FieldStorageConfig::create([
      'field_name' => 'field_text',
      'type' => 'string',
      'entity_type' => 'user',
    ])->save();
    FieldConfig::create([
      'field_name' => 'field_text',
      'type' => 'string',
      'entity_type' => 'user',
      'bundle' => 'user',
    ])->save();
    $this->assertSame('', \Drupal::config('name.settings')->get('user_preferred'));

    FieldStorageConfig::create([
      'field_name' => 'field_name_test',
      'type' => 'name',
      'entity_type' => 'user',
    ])->save();

    FieldStorageConfig::create([
      'field_name' => 'field_name_test2',
      'type' => 'name',
      'entity_type' => 'user',
    ])->save();

    $field = FieldConfig::create([
      'field_name' => 'field_name_test',
      'type' => 'name',
      'entity_type' => 'user',
      'bundle' => 'user',
    ]);
    $field->save();

    $field2 = FieldConfig::create([
      'field_name' => 'field_name_test2',
      'type' => 'name',
      'entity_type' => 'user',
      'bundle' => 'user',
    ]);
    $field2->save();

    $this->assertEquals($field->getName(), \Drupal::config('name.settings')->get('user_preferred'));

    \Drupal::configFactory()
      ->getEditable('name.settings')
      ->set('user_preferred', $field2->getName())
      ->save();

    $field2->delete();
    $this->assertEquals('', \Drupal::config('name.settings')->get('user_preferred'));

    \Drupal::configFactory()
      ->getEditable('name.settings')
      ->set('user_preferred', $field->getName())
      ->save();

    $account = User::create([
      'name' => 'test',
    ]);
    $account->field_name_test[0] = [
      'given' => 'Max',
      'family' => 'Mustermann',
    ];
    $account->save();

    $account = User::load($account->id());
    $this->assertEquals('Max Mustermann', $account->realname);
    $this->assertEquals('Max Mustermann', $account->label());
    $this->assertEquals('test', $account->getAccountName());
    $this->assertEquals('Max Mustermann', $account->getDisplayName());
  }

}

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

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