ckeditor_mentions-8.x-2.x-dev/tests/src/Kernel/CkeditorMentionsUserTest.php

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

namespace Drupal\Tests\ckeditor_mentions\Kernel;

use Drupal\user\Entity\User;

/**
 * @coversDefaultClass \Drupal\ckeditor_mentions\Plugin\MentionsType\User
 *
 * @group ckeditor_mentions
 * @requires module ckeditor5
 */
class CkeditorMentionsUserTest extends KernelTestBase {

  /**
   * {@inheritdoc}
   */
  protected static $modules = ['ckeditor_mentions_user_test'];

  /**
   * @covers ::buildResponse
   */
  public function testUser() {
    $user_1 = User::create([
      'name' => 'Jhon Doe',
    ]);
    $user_1->save();
    $user_2 = User::create([
      'name' => 'Jhon Derm',
    ]);
    $user_2->save();
    $user_3 = User::create([
      'name' => 'Jewish Kontrator',
    ]);
    $user_3->save();

    $plugin_manager = $this->container->get('plugin.manager.mentions_type');
    /** @var \Drupal\ckeditor_mentions_user_test\Plugin\MentionsType\UserTest $plugin */
    $plugin = $plugin_manager->createInstance('user_test', [
      'match' => 'Jho',
    ]);

    $response = $plugin->buildResponse();

    $expected = [];
    /** @var \Drupal\user\Entity\User $user */
    foreach ([$user_1, $user_2] as $user) {
      $expected[$user->id()] = [
        'id' => $user->id(),
        'name' => $user->uuid(),
        'user_name' => $user->getDisplayName(),
      ];
    }
    $this->assertSame($response, $expected);

    $plugin->setMatch('Kip');
    $response = $plugin->buildResponse();

    $this->assertEmpty($response);
  }

  /**
   * @covers ::preprocessQuery
   */
  public function testQueryAlter() {
    $user = User::create([
      'name' => 'Jhon Doe',
    ]);
    $user->save();

    $plugin_manager = $this->container->get('plugin.manager.mentions_type');
    /** @var \Drupal\ckeditor_mentions_user_test\Plugin\MentionsType\UserTest $plugin */
    $plugin = $plugin_manager->createInstance('user_test', [
      'match' => 'test_query_alter',
    ]);
    $response = $plugin->buildResponse();

    $this->assertNotEmpty($response);
    $this->assertEquals(current($response)['id'], $user->id());
  }

}

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

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