custom_field-1.0.x-dev/tests/modules/custom_field_test/src/Plugin/CustomFieldTest/FieldType/EntityReferenceTest.php

tests/modules/custom_field_test/src/Plugin/CustomFieldTest/FieldType/EntityReferenceTest.php
<?php

declare(strict_types=1);

namespace Drupal\custom_field_test\Plugin\CustomFieldTest\FieldType;

use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\custom_field_test\Attribute\CustomFieldTypeTest;
use Drupal\custom_field_test\Plugin\FieldTypeTestBase;
use Drupal\node\Entity\Node;

/**
 * Plugin implementation of the 'entity_reference' field type test.
 */
#[CustomFieldTypeTest(
  id: 'entity_reference',
  label: new TranslatableMarkup('Entity reference'),
)]
class EntityReferenceTest extends FieldTypeTestBase {

  /**
   * {@inheritdoc}
   */
  public function getDefaultWidget(): array {
    return [
      'id' => 'entity_reference_autocomplete',
      'class' => 'Drupal\custom_field\Plugin\CustomField\FieldWidget\EntityReferenceAutocompleteWidget',
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function getDefaultFormatter(): array {
    return [
      'id' => 'entity_reference_label',
      'class' => 'Drupal\custom_field\Plugin\CustomField\FieldFormatter\EntityReferenceLabelFormatter',
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function testCases(string $name, array $settings): array {
    $query = \Drupal::entityQuery('node')
      ->condition('type', 'article')
      ->accessCheck(FALSE);
    $nids = $query->execute();
    $nodes = [];
    if (!empty($nids)) {
      foreach ($nids as $nid) {
        $node = Node::load($nid);
        $nodes[] = $node->id();
      }
    }
    return [
      $this->buildTestCase($name, $nodes[0]),
      $this->buildTestCase($name, $nodes[1]),
    ];
  }

}

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

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