class BookManagerTest
@coversDefaultClass \Drupal\book\BookManager
      
    
@group book
@group legacy
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait extends \PHPUnit\Framework\TestCase- class \Drupal\Tests\book\Unit\BookManagerTest extends \Drupal\Tests\UnitTestCase
 
Expanded class hierarchy of BookManagerTest
File
- 
              core/modules/ book/ tests/ src/ Unit/ BookManagerTest.php, line 17 
Namespace
Drupal\Tests\book\UnitView source
class BookManagerTest extends UnitTestCase {
  
  /**
   * The mocked entity type manager.
   *
   * @var \Drupal\Core\Entity\EntityTypeManager|\PHPUnit\Framework\MockObject\MockObject
   */
  protected $entityTypeManager;
  
  /**
   * The mocked language manager.
   *
   * @var \Drupal\Core\Language\LanguageManager|\PHPUnit\Framework\MockObject\MockObject
   */
  protected $languageManager;
  
  /**
   * The mocked entity repository.
   *
   * @var \Drupal\Core\Entity\EntityRepositoryInterface|\PHPUnit\Framework\MockObject\MockObject
   */
  protected $entityRepository;
  
  /**
   * The mocked config factory.
   *
   * @var \Drupal\Core\Config\ConfigFactory|\PHPUnit\Framework\MockObject\MockObject
   */
  protected $configFactory;
  
  /**
   * The mocked translation manager.
   *
   * @var \Drupal\Core\StringTranslation\TranslationInterface|\PHPUnit\Framework\MockObject\MockObject
   */
  protected $translation;
  
  /**
   * The mocked renderer.
   *
   * @var \Drupal\Core\Render\RendererInterface|\PHPUnit\Framework\MockObject\MockObject
   */
  protected $renderer;
  
  /**
   * The tested book manager.
   *
   * @var \Drupal\book\BookManager
   */
  protected $bookManager;
  
  /**
   * Book outline storage.
   *
   * @var \Drupal\book\BookOutlineStorageInterface
   */
  protected $bookOutlineStorage;
  
  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();
    $this->entityTypeManager = $this->createMock(EntityTypeManagerInterface::class);
    $this->translation = $this->getStringTranslationStub();
    $this->configFactory = $this->getConfigFactoryStub([]);
    $this->bookOutlineStorage = $this->createMock('Drupal\\book\\BookOutlineStorageInterface');
    $this->renderer = $this->createMock('\\Drupal\\Core\\Render\\RendererInterface');
    $this->languageManager = $this->createMock('Drupal\\Core\\Language\\LanguageManagerInterface');
    $this->entityRepository = $this->createMock('Drupal\\Core\\Entity\\EntityRepositoryInterface');
    // Used for both book manager cache services: backend chain and memory.
    $cache = $this->createMock(CacheBackendInterface::class);
    $this->bookManager = new BookManager($this->entityTypeManager, $this->translation, $this->configFactory, $this->bookOutlineStorage, $this->renderer, $this->languageManager, $this->entityRepository, $cache, $cache);
  }
  
  /**
   * Tests the getBookParents() method.
   *
   * @dataProvider providerTestGetBookParents
   */
  public function testGetBookParents($book, $parent, $expected) : void {
    $this->assertEquals($expected, $this->bookManager
      ->getBookParents($book, $parent));
  }
  
  /**
   * Provides test data for testGetBookParents.
   *
   * @return array
   *   The test data.
   */
  public static function providerTestGetBookParents() {
    $empty = [
      'p1' => 0,
      'p2' => 0,
      'p3' => 0,
      'p4' => 0,
      'p5' => 0,
      'p6' => 0,
      'p7' => 0,
      'p8' => 0,
      'p9' => 0,
    ];
    return [
      // Provides a book without an existing parent.
[
        [
          'pid' => 0,
          'nid' => 12,
        ],
        [],
        [
          'depth' => 1,
          'p1' => 12,
        ] + $empty,
      ],
      // Provides a book with an existing parent.
[
        [
          'pid' => 11,
          'nid' => 12,
        ],
        [
          'nid' => 11,
          'depth' => 1,
          'p1' => 11,
        ],
        [
          'depth' => 2,
          'p1' => 11,
          'p2' => 12,
        ] + $empty,
      ],
      // Provides a book with two existing parents.
[
        [
          'pid' => 11,
          'nid' => 12,
        ],
        [
          'nid' => 11,
          'depth' => 2,
          'p1' => 10,
          'p2' => 11,
        ],
        [
          'depth' => 3,
          'p1' => 10,
          'p2' => 11,
          'p3' => 12,
        ] + $empty,
      ],
    ];
  }
}Members
| Title Sort descending | Deprecated | Modifiers | Object type | Summary | Overriden Title | Overrides | 
|---|---|---|---|---|---|---|
| BookManagerTest::$bookManager | protected | property | The tested book manager. | |||
| BookManagerTest::$bookOutlineStorage | protected | property | Book outline storage. | |||
| BookManagerTest::$configFactory | protected | property | The mocked config factory. | |||
| BookManagerTest::$entityRepository | protected | property | The mocked entity repository. | |||
| BookManagerTest::$entityTypeManager | protected | property | The mocked entity type manager. | |||
| BookManagerTest::$languageManager | protected | property | The mocked language manager. | |||
| BookManagerTest::$renderer | protected | property | The mocked renderer. | |||
| BookManagerTest::$translation | protected | property | The mocked translation manager. | |||
| BookManagerTest::providerTestGetBookParents | public static | function | Provides test data for testGetBookParents. | |||
| BookManagerTest::setUp | protected | function | Overrides UnitTestCase::setUp | |||
| BookManagerTest::testGetBookParents | public | function | Tests the getBookParents() method. | |||
| PhpUnitWarnings::$deprecationWarnings | private static | property | Deprecation warnings from PHPUnit to raise with @trigger_error(). | |||
| PhpUnitWarnings::addWarning | public | function | Converts PHPUnit deprecation warnings to E_USER_DEPRECATED. | |||
| RandomGeneratorTrait::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | |||
| RandomGeneratorTrait::randomMachineName | protected | function | Generates a unique random string containing letters and numbers. | |||
| RandomGeneratorTrait::randomObject | public | function | Generates a random PHP object. | |||
| RandomGeneratorTrait::randomString | public | function | Generates a pseudo-random string of ASCII characters of codes 32 to 126. | |||
| RandomGeneratorTrait::randomStringValidate | Deprecated | public | function | Callback for random string validation. | ||
| UnitTestCase::$root | protected | property | The app root. | 1 | ||
| UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | |||
| UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | |||
| UnitTestCase::getConfigStorageStub | public | function | Returns a stub config storage that returns the supplied configuration. | |||
| UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | |||
| UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | |||
| UnitTestCase::setUpBeforeClass | public static | function | ||||
| UnitTestCase::__get | public | function | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
