xero-8.x-2.x-dev/tests/src/Unit/Plugin/DataType/TestBase.php

tests/src/Unit/Plugin/DataType/TestBase.php
<?php

namespace Drupal\Tests\xero\Unit\Plugin\DataType;

use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Tests\UnitTestCase;

/**
 * Assert setting and getting Link properties.
 */
abstract class TestBase extends UnitTestCase {

  const XERO_TYPE = FALSE;
  const XERO_TYPE_CLASS = FALSE;
  const XERO_DEFINITION_CLASS = FALSE;

  /**
   * The type data manager.
   *
   * @var \Drupal\Core\TypedData\TypedDataManagerInterface
   */
  protected $typedDataManager;

  /**
   * The data definition for the xero type.
   *
   * @var \Drupal\Core\TypedData\ComplexDataDefinitionBase
   */
  protected $dataDefinition;

  /**
   * {@inheritdoc}
   */
  public function setUp(): void {
    parent::setUp();
    // Typed Data Manager setup.
    $this->typedDataManager = $this->createMock('\Drupal\Core\TypedData\TypedDataManager');

    $this->typedDataManager->expects($this->any())
      ->method('getDefinition')
      ->with(static::XERO_TYPE, TRUE)
      ->willReturn([
        'id' => static::XERO_TYPE,
        'definition_class' => static::XERO_DEFINITION_CLASS,
      ]);
    $this->typedDataManager->expects($this->any())
      ->method('getDefaultConstraints')
      ->willReturn([]);

    // Validation constraint manager setup.
    $validation_constraint_manager = $this->createMock('\Drupal\Core\Validation\ConstraintManager');
    $validation_constraint_manager->expects($this->any())
      ->method('create')
      ->willReturn([]);
    $this->typedDataManager->expects($this->any())
      ->method('getValidationConstraintManager')
      ->willReturn($validation_constraint_manager);

    // Mock the container.
    $container = new ContainerBuilder();
    $container->set('typed_data_manager', $this->typedDataManager);
    $container->set('string_translation', $this->getStringTranslationStub());
    \Drupal::setContainer($container);

    // Create data definition.
    $definition_class = static::XERO_DEFINITION_CLASS;
    $this->dataDefinition = $definition_class::create(static::XERO_TYPE);
    $this->dataDefinition->getPropertyDefinitions();
  }

}

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

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