Unverified Commit 240d2b1d authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3483576 by mondrake: Method getMockForAbstractClass() is deprecated -...

Issue #3483576 by mondrake: Method getMockForAbstractClass() is deprecated - replace in classes EntityTypeTest and EntityTypeManagerTest
parent e22cc21e
Loading
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -61473,12 +61473,6 @@
	'count' => 2,
	'path' => __DIR__ . '/tests/Drupal/Tests/Core/Entity/EntityStorageBaseTest.php',
];
$ignoreErrors[] = [
	// identifier: method.deprecated
	'message' => '#^Call to deprecated method getMockForAbstractClass\\(\\) of class PHPUnit\\\\Framework\\\\TestCase\\.$#',
	'count' => 2,
	'path' => __DIR__ . '/tests/Drupal/Tests/Core/Entity/EntityTypeManagerTest.php',
];
$ignoreErrors[] = [
	// identifier: missingType.return
	'message' => '#^Method Drupal\\\\Tests\\\\Core\\\\Entity\\\\TestEntityForm\\:\\:getBaseFormId\\(\\) has no return type specified\\.$#',
@@ -61515,12 +61509,6 @@
	'count' => 1,
	'path' => __DIR__ . '/tests/Drupal/Tests/Core/Entity/EntityTypeManagerTest.php',
];
$ignoreErrors[] = [
	// identifier: method.deprecated
	'message' => '#^Call to deprecated method getMockForAbstractClass\\(\\) of class PHPUnit\\\\Framework\\\\TestCase\\.$#',
	'count' => 1,
	'path' => __DIR__ . '/tests/Drupal/Tests/Core/Entity/EntityTypeTest.php',
];
$ignoreErrors[] = [
	// identifier: missingType.return
	'message' => '#^Method Drupal\\\\Tests\\\\Core\\\\Entity\\\\EntityTypeTest\\:\\:providerTestGet\\(\\) has no return type specified\\.$#',
+10 −42
Original line number Diff line number Diff line
@@ -171,12 +171,11 @@ public static function providerTestHasHandler() {
   * @covers ::getStorage
   */
  public function testGetStorage(): void {
    $class = $this->getTestHandlerClass();
    $entity = $this->prophesize(EntityTypeInterface::class);
    $entity->getHandlerClass('storage')->willReturn($class);
    $entity->getHandlerClass('storage')->willReturn(StubEntityHandlerBase::class);
    $this->setUpEntityTypeDefinitions(['test_entity_type' => $entity]);

    $this->assertInstanceOf($class, $this->entityTypeManager->getStorage('test_entity_type'));
    $this->assertInstanceOf(StubEntityHandlerBase::class, $this->entityTypeManager->getStorage('test_entity_type'));
  }

  /**
@@ -185,12 +184,11 @@ public function testGetStorage(): void {
   * @covers ::getListBuilder
   */
  public function testGetListBuilder(): void {
    $class = $this->getTestHandlerClass();
    $entity = $this->prophesize(EntityTypeInterface::class);
    $entity->getHandlerClass('list_builder')->willReturn($class);
    $entity->getHandlerClass('list_builder')->willReturn(StubEntityHandlerBase::class);
    $this->setUpEntityTypeDefinitions(['test_entity_type' => $entity]);

    $this->assertInstanceOf($class, $this->entityTypeManager->getListBuilder('test_entity_type'));
    $this->assertInstanceOf(StubEntityHandlerBase::class, $this->entityTypeManager->getListBuilder('test_entity_type'));
  }

  /**
@@ -199,12 +197,11 @@ public function testGetListBuilder(): void {
   * @covers ::getViewBuilder
   */
  public function testGetViewBuilder(): void {
    $class = $this->getTestHandlerClass();
    $entity = $this->prophesize(EntityTypeInterface::class);
    $entity->getHandlerClass('view_builder')->willReturn($class);
    $entity->getHandlerClass('view_builder')->willReturn(StubEntityHandlerBase::class);
    $this->setUpEntityTypeDefinitions(['test_entity_type' => $entity]);

    $this->assertInstanceOf($class, $this->entityTypeManager->getViewBuilder('test_entity_type'));
    $this->assertInstanceOf(StubEntityHandlerBase::class, $this->entityTypeManager->getViewBuilder('test_entity_type'));
  }

  /**
@@ -213,12 +210,11 @@ public function testGetViewBuilder(): void {
   * @covers ::getAccessControlHandler
   */
  public function testGetAccessControlHandler(): void {
    $class = $this->getTestHandlerClass();
    $entity = $this->prophesize(EntityTypeInterface::class);
    $entity->getHandlerClass('access')->willReturn($class);
    $entity->getHandlerClass('access')->willReturn(StubEntityHandlerBase::class);
    $this->setUpEntityTypeDefinitions(['test_entity_type' => $entity]);

    $this->assertInstanceOf($class, $this->entityTypeManager->getAccessControlHandler('test_entity_type'));
    $this->assertInstanceOf(StubEntityHandlerBase::class, $this->entityTypeManager->getAccessControlHandler('test_entity_type'));
  }

  /**
@@ -302,16 +298,15 @@ public function testGetFormObjectInvalidOperation(string $entity_type_id, string
   * @covers ::getHandler
   */
  public function testGetHandler(): void {
    $class = get_class($this->getMockForAbstractClass(TestEntityHandlerBase::class));
    $apple = $this->prophesize(EntityTypeInterface::class);
    $apple->getHandlerClass('storage')->willReturn($class);
    $apple->getHandlerClass('storage')->willReturn(StubEntityHandlerBase::class);

    $this->setUpEntityTypeDefinitions([
      'apple' => $apple,
    ]);

    $apple_controller = $this->entityTypeManager->getHandler('apple', 'storage');
    $this->assertInstanceOf($class, $apple_controller);
    $this->assertInstanceOf(StubEntityHandlerBase::class, $apple_controller);
    $this->assertInstanceOf(ModuleHandlerInterface::class, $apple_controller->moduleHandler);
    $this->assertInstanceOf(TranslationInterface::class, $apple_controller->stringTranslation);
  }
@@ -446,33 +441,6 @@ public function testGetDefinitionInvalidException(): void {
    $this->entityTypeManager->getDefinition('pear', TRUE);
  }

  /**
   * Gets a mock controller class name.
   *
   * @return string
   *   A mock controller class name.
   */
  protected function getTestHandlerClass(): string {
    return get_class($this->getMockForAbstractClass(EntityHandlerBase::class));
  }

}

/**
 * Provides a test entity handler.
 */
abstract class TestEntityHandlerBase extends EntityHandlerBase {

  /**
   * {@inheritdoc}
   */
  public $moduleHandler;

  /**
   * {@inheritdoc}
   */
  public $stringTranslation;

}

/**
+16 −34
Original line number Diff line number Diff line
@@ -159,17 +159,16 @@ public function testIsRevisionable(): void {
   * Tests the getHandler() method.
   */
  public function testGetHandler(): void {
    $controller = $this->getTestHandlerClass();
    $entity_type = $this->setUpEntityType([
      'handlers' => [
        'storage' => $controller,
        'storage' => StubEntityHandlerBase::class,
        'form' => [
          'default' => $controller,
          'default' => StubEntityHandlerBase::class,
        ],
      ],
    ]);
    $this->assertSame($controller, $entity_type->getHandlerClass('storage'));
    $this->assertSame($controller, $entity_type->getHandlerClass('form', 'default'));
    $this->assertSame(StubEntityHandlerBase::class, $entity_type->getHandlerClass('storage'));
    $this->assertSame(StubEntityHandlerBase::class, $entity_type->getHandlerClass('form', 'default'));
    $this->assertNull($entity_type->getHandlerClass('foo'));
    $this->assertNull($entity_type->getHandlerClass('foo', 'bar'));
  }
@@ -178,76 +177,70 @@ public function testGetHandler(): void {
   * Tests the getStorageClass() method.
   */
  public function testGetStorageClass(): void {
    $controller = $this->getTestHandlerClass();
    $entity_type = $this->setUpEntityType([
      'handlers' => [
        'storage' => $controller,
        'storage' => StubEntityHandlerBase::class,
      ],
    ]);
    $this->assertSame($controller, $entity_type->getStorageClass());
    $this->assertSame(StubEntityHandlerBase::class, $entity_type->getStorageClass());
  }

  /**
   * Tests the setStorageClass() method.
   */
  public function testSetStorageClass(): void {
    $controller = $this->getTestHandlerClass();
    $entity_type = $this->setUpEntityType([]);
    $this->assertSame($entity_type, $entity_type->setStorageClass($controller));
    $this->assertSame($entity_type, $entity_type->setStorageClass(StubEntityHandlerBase::class));
  }

  /**
   * Tests the getListBuilderClass() method.
   */
  public function testGetListBuilderClass(): void {
    $controller = $this->getTestHandlerClass();
    $entity_type = $this->setUpEntityType([
      'handlers' => [
        'list_builder' => $controller,
        'list_builder' => StubEntityHandlerBase::class,
      ],
    ]);
    $this->assertSame($controller, $entity_type->getListBuilderClass());
    $this->assertSame(StubEntityHandlerBase::class, $entity_type->getListBuilderClass());
  }

  /**
   * Tests the getAccessControlClass() method.
   */
  public function testGetAccessControlClass(): void {
    $controller = $this->getTestHandlerClass();
    $entity_type = $this->setUpEntityType([
      'handlers' => [
        'access' => $controller,
        'access' => StubEntityHandlerBase::class,
      ],
    ]);
    $this->assertSame($controller, $entity_type->getAccessControlClass());
    $this->assertSame(StubEntityHandlerBase::class, $entity_type->getAccessControlClass());
  }

  /**
   * Tests the getFormClass() method.
   */
  public function testGetFormClass(): void {
    $controller = $this->getTestHandlerClass();
    $operation = 'default';
    $entity_type = $this->setUpEntityType([
      'handlers' => [
        'form' => [
          $operation => $controller,
          $operation => StubEntityHandlerBase::class,
        ],
      ],
    ]);
    $this->assertSame($controller, $entity_type->getFormClass($operation));
    $this->assertSame(StubEntityHandlerBase::class, $entity_type->getFormClass($operation));
  }

  /**
   * Tests the hasFormClasses() method.
   */
  public function testHasFormClasses(): void {
    $controller = $this->getTestHandlerClass();
    $operation = 'default';
    $entity_type1 = $this->setUpEntityType([
      'handlers' => [
        'form' => [
          $operation => $controller,
          $operation => StubEntityHandlerBase::class,
        ],
      ],
    ]);
@@ -262,13 +255,12 @@ public function testHasFormClasses(): void {
   * Tests the getViewBuilderClass() method.
   */
  public function testGetViewBuilderClass(): void {
    $controller = $this->getTestHandlerClass();
    $entity_type = $this->setUpEntityType([
      'handlers' => [
        'view_builder' => $controller,
        'view_builder' => StubEntityHandlerBase::class,
      ],
    ]);
    $this->assertSame($controller, $entity_type->getViewBuilderClass());
    $this->assertSame(StubEntityHandlerBase::class, $entity_type->getViewBuilderClass());
  }

  /**
@@ -440,16 +432,6 @@ public static function providerTestGetBundleLabel() {
    ];
  }

  /**
   * Gets a mock controller class name.
   *
   * @return string
   *   A mock controller class name.
   */
  protected function getTestHandlerClass(): string {
    return get_class($this->getMockForAbstractClass('Drupal\Core\Entity\EntityHandlerBase'));
  }

  /**
   * @covers ::setLinkTemplate
   */
+24 −0
Original line number Diff line number Diff line
<?php

declare(strict_types=1);

namespace Drupal\Tests\Core\Entity;

use Drupal\Core\Entity\EntityHandlerBase;

/**
 * A stub base entity handler for testing purposes.
 */
class StubEntityHandlerBase extends EntityHandlerBase {

  /**
   * {@inheritdoc}
   */
  public $moduleHandler;

  /**
   * {@inheritdoc}
   */
  public $stringTranslation;

}