ContentEntityStorageBaseTest.php

Same filename and directory in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Entity/ContentEntityStorageBaseTest.php
  2. 8.9.x core/tests/Drupal/KernelTests/Core/Entity/ContentEntityStorageBaseTest.php
  3. 10 core/tests/Drupal/KernelTests/Core/Entity/ContentEntityStorageBaseTest.php

Namespace

Drupal\KernelTests\Core\Entity

File

core/tests/Drupal/KernelTests/Core/Entity/ContentEntityStorageBaseTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\KernelTests\Core\Entity;

use Drupal\KernelTests\KernelTestBase;

/**
 * @coversDefaultClass \Drupal\Core\Entity\ContentEntityStorageBase
 *
 * @group Entity
 */
class ContentEntityStorageBaseTest extends KernelTestBase {
    
    /**
     * {@inheritdoc}
     */
    protected static $modules = [
        'entity_test',
        'user',
    ];
    
    /**
     * {@inheritdoc}
     */
    protected function setUp() : void {
        parent::setUp();
        $this->installEntitySchema('entity_test');
        $this->installEntitySchema('user');
    }
    
    /**
     * @covers ::create
     *
     * @dataProvider providerTestCreate
     */
    public function testCreate(string|array $bundle) : void {
        $storage = $this->container
            ->get('entity_type.manager')
            ->getStorage('entity_test');
        $entity = $storage->create([
            'type' => $bundle,
        ]);
        $this->assertEquals('test_bundle', $entity->bundle());
    }
    
    /**
     * Provides test data for testCreate().
     */
    public static function providerTestCreate() : \Generator {
        (yield 'scalar' => [
            'bundle' => 'test_bundle',
        ]);
        (yield 'array keyed by delta' => [
            'bundle' => [
                0 => [
                    'value' => 'test_bundle',
                ],
            ],
        ]);
        (yield 'array keyed by main property name' => [
            'bundle' => [
                'value' => 'test_bundle',
            ],
        ]);
    }
    
    /**
     * @covers ::create
     */
    public function testReCreate() : void {
        $storage = $this->container
            ->get('entity_type.manager')
            ->getStorage('entity_test');
        $values = $storage->create([
            'type' => 'test_bundle',
        ])
            ->toArray();
        $entity = $storage->create($values);
        $this->assertEquals('test_bundle', $entity->bundle());
    }

}

Classes

Title Deprecated Summary
ContentEntityStorageBaseTest @coversDefaultClass \Drupal\Core\Entity\ContentEntityStorageBase

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