You are here

public function EntityNormalizerTest::testDenormalizeWithNoFieldableEntityType in Drupal 8

Tests the denormalize method with no bundle defined.

@covers ::denormalize

File

core/modules/serialization/tests/src/Unit/Normalizer/EntityNormalizerTest.php, line 395

Class

EntityNormalizerTest
@coversDefaultClass \Drupal\serialization\Normalizer\EntityNormalizer @group serialization

Namespace

Drupal\Tests\serialization\Unit\Normalizer

Code

public function testDenormalizeWithNoFieldableEntityType() {
  $test_data = [
    'key_1' => 'value_1',
    'key_2' => 'value_2',
  ];
  $entity_type = $this
    ->createMock('Drupal\\Core\\Entity\\EntityTypeInterface');
  $entity_type
    ->expects($this
    ->once())
    ->method('entityClassImplements')
    ->with(FieldableEntityInterface::class)
    ->willReturn(FALSE);
  $entity_type
    ->expects($this
    ->never())
    ->method('getKey');
  $this->entityTypeManager
    ->expects($this
    ->once())
    ->method('getDefinition')
    ->with('test')
    ->will($this
    ->returnValue($entity_type));
  $storage = $this
    ->createMock('Drupal\\Core\\Entity\\EntityStorageInterface');
  $storage
    ->expects($this
    ->once())
    ->method('create')
    ->with($test_data)
    ->will($this
    ->returnValue($this
    ->createMock('Drupal\\Core\\Entity\\EntityInterface')));
  $this->entityTypeManager
    ->expects($this
    ->once())
    ->method('getStorage')
    ->with('test')
    ->will($this
    ->returnValue($storage));
  $this->entityFieldManager
    ->expects($this
    ->never())
    ->method('getBaseFieldDefinitions');
  $this
    ->assertNotNull($this->entityNormalizer
    ->denormalize($test_data, 'Drupal\\Core\\Entity\\ContentEntityBase', NULL, [
    'entity_type' => 'test',
  ]));
}