jsonapi_cross_bundles-8.x-1.0-alpha3/tests/src/Kernel/ResourceType/CrossBundleResourceTypeRepositoryTest.php

tests/src/Kernel/ResourceType/CrossBundleResourceTypeRepositoryTest.php
<?php

namespace Drupal\Tests\jsonapi_cross_bundles\Kernel\ResourceType;

use Drupal\jsonapi\ResourceType\ResourceType;
use Drupal\jsonapi_cross_bundles\ResourceType\CrossBundlesResourceType;
use Drupal\Tests\jsonapi_cross_bundles\Kernel\JsonapiCrossBundlesTestBase;

/**
 * Tests the cross bundle repository.
 *
 * @group jsonapi_cross_bundles
 */
class CrossBundleResourceTypeRepositoryTest extends JsonapiCrossBundlesTestBase {

  /**
   * Tests the cross bundle resource types available.
   */
  public function testRootEntityTypeResourceType() {
    $resource_type_repository = $this->container->get('jsonapi.resource_type.repository');
    $resource_type_repository->get('entity_test', 'entity_test');
    $this->assertInstanceOf(CrossBundlesResourceType::class, $resource_type_repository->getByTypeName('entity_test'));
    $this->container->get('cache.jsonapi_resource_types')->deleteAll();

    $resource_type_repository = $this->container->get('jsonapi.resource_type.repository');
    $this->assertInstanceOf(CrossBundlesResourceType::class, $resource_type_repository->getByTypeName('entity_test'));
    $this->container->get('cache.jsonapi_resource_types')->deleteAll();

    $resource_types = $resource_type_repository->all();
    $filtered_resource_types = array_filter($resource_types, static function (ResourceType $resource_type) {
      return $resource_type->getEntityTypeId() === 'entity_test' && $resource_type->getBundle() === 'entity_test';
    });
    $this->assertCount(1, $filtered_resource_types, 'Entity type with bundle support has a root resource type.');
    $filtered_resource_types = array_filter($resource_types, static function (ResourceType $resource_type) {
      return $resource_type->getEntityTypeId() === 'user' && $resource_type->getBundle() === NULL;
    });
    $this->assertCount(0, $filtered_resource_types, 'Entity type without bundle support does not have root resource type.');
  }

}

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

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