function DefaultTableMappingTest::testGetFieldNames

Same name and namespace in other branches
  1. 8.9.x core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php \Drupal\Tests\Core\Entity\Sql\DefaultTableMappingTest::testGetFieldNames()
  2. 10 core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php \Drupal\Tests\Core\Entity\Sql\DefaultTableMappingTest::testGetFieldNames()
  3. 11.x core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php \Drupal\Tests\Core\Entity\Sql\DefaultTableMappingTest::testGetFieldNames()

Tests DefaultTableMapping::getFieldNames().

@covers ::getFieldNames @covers ::setFieldNames

File

core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php, line 177

Class

DefaultTableMappingTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Entity%21Sql%21DefaultTableMapping.php/class/DefaultTableMapping/9" title="Defines a default table mapping class." class="local">\Drupal\Core\Entity\Sql\DefaultTableMapping</a> @group Entity

Namespace

Drupal\Tests\Core\Entity\Sql

Code

public function testGetFieldNames() {
    // The storage definitions are only used in getColumnNames() so we do not
    // need to provide any here.
    $table_mapping = new TestDefaultTableMapping($this->entityType, []);
    // Test that requesting the list of field names for a table for which no
    // fields have been added does not fail.
    $this->assertSame([], $table_mapping->getFieldNames('foo'));
    $return = $table_mapping->setFieldNames('foo', [
        'id',
        'name',
        'type',
    ]);
    $this->assertSame($table_mapping, $return);
    $expected = [
        'id',
        'name',
        'type',
    ];
    $this->assertSame($expected, $table_mapping->getFieldNames('foo'));
    $this->assertSame([], $table_mapping->getFieldNames('bar'));
    $return = $table_mapping->setFieldNames('bar', [
        'description',
        'owner',
    ]);
    $this->assertSame($table_mapping, $return);
    $expected = [
        'description',
        'owner',
    ];
    $this->assertSame($expected, $table_mapping->getFieldNames('bar'));
    // Test that the previously added field names are unaffected.
    $expected = [
        'id',
        'name',
        'type',
    ];
    $this->assertSame($expected, $table_mapping->getFieldNames('foo'));
}

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