function EntityViewsDataTest::testBaseTableDecimalFields

Tests decimal and float fields on the base table.

File

core/modules/views/tests/src/Kernel/Entity/EntityViewsDataTest.php, line 444

Class

EntityViewsDataTest
Tests entity views data.

Namespace

Drupal\Tests\views\Kernel\Entity

Code

public function testBaseTableDecimalFields() : void {
  $this->commonBaseFields['decimal'] = BaseFieldDefinition::create('decimal')->setLabel('Decimal');
  $this->commonBaseFields['float'] = BaseFieldDefinition::create('float')->setLabel('Float');
  $this->setUpEntityType($this->baseEntityType, $this->commonBaseFields);
  $data = $this->entityTypeManager
    ->getHandler('entity_test', 'views_data')
    ->getViewsData();
  foreach ([
    'decimal',
    'float',
  ] as $field_name) {
    $this->assertNumericField($data['entity_test'][$field_name]);
    // Decimal values are flagged so that the numeric field handler, used
    // when aggregation is enabled, offers precision and decimal point
    // settings.
    $this->assertTrue($data['entity_test'][$field_name]['field']['float']);
  }
  $this->assertArrayNotHasKey('float', $data['entity_test']['id']['field']);
}

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