function EntityTypeBundleInfoTest::testGetAllBundleInfoWithEntityBundleInfo

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Entity/EntityTypeBundleInfoTest.php \Drupal\Tests\Core\Entity\EntityTypeBundleInfoTest::testGetAllBundleInfoWithEntityBundleInfo()
  2. 8.9.x core/tests/Drupal/Tests/Core/Entity/EntityTypeBundleInfoTest.php \Drupal\Tests\Core\Entity\EntityTypeBundleInfoTest::testGetAllBundleInfoWithEntityBundleInfo()
  3. 10 core/tests/Drupal/Tests/Core/Entity/EntityTypeBundleInfoTest.php \Drupal\Tests\Core\Entity\EntityTypeBundleInfoTest::testGetAllBundleInfoWithEntityBundleInfo()

@covers ::getAllBundleInfo

File

core/tests/Drupal/Tests/Core/Entity/EntityTypeBundleInfoTest.php, line 273

Class

EntityTypeBundleInfoTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Entity%21EntityTypeBundleInfo.php/class/EntityTypeBundleInfo/11.x" title="Provides discovery and retrieval of entity type bundles." class="local">\Drupal\Core\Entity\EntityTypeBundleInfo</a> @group Entity

Namespace

Drupal\Tests\Core\Entity

Code

public function testGetAllBundleInfoWithEntityBundleInfo() : void {
    // Ensure that EntityTypeBundleInfo::getAllBundleInfo() does not add
    // additional bundles if hook_entity_bundle_info() defines some and the
    // entity_type does not define a bundle entity type.
    $this->moduleHandler
        ->invokeAll('entity_bundle_info')
        ->willReturn([
        'banana' => [
            'fig' => [
                'label' => 'Fig banana',
            ],
        ],
    ]);
    $this->moduleHandler
        ->alter('entity_bundle_info', Argument::type('array'))
        ->willReturn(NULL);
    $apple = $this->prophesize(EntityTypeInterface::class);
    $apple->getLabel()
        ->willReturn('Apple');
    $apple->getBundleEntityType()
        ->willReturn(NULL);
    $banana = $this->prophesize(EntityTypeInterface::class);
    $banana->getLabel()
        ->willReturn('Banana');
    $banana->getBundleEntityType()
        ->willReturn(NULL);
    $this->setUpEntityTypeDefinitions([
        'apple' => $apple,
        'banana' => $banana,
    ]);
    $expected = [
        'banana' => [
            'fig' => [
                'label' => 'Fig banana',
            ],
        ],
        'apple' => [
            'apple' => [
                'label' => 'Apple',
            ],
        ],
    ];
    $bundle_info = $this->entityTypeBundleInfo
        ->getAllBundleInfo();
    $this->assertSame($expected, $bundle_info);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.