You are here

public function KeyValueEntityStorageTest::testSaveDuplicate in Drupal 8

@covers ::save @covers ::doSave

File

core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php, line 477

Class

KeyValueEntityStorageTest
@coversDefaultClass \Drupal\Core\Entity\KeyValueStore\KeyValueEntityStorage @group Entity

Namespace

Drupal\Tests\Core\Entity\KeyValueStore

Code

public function testSaveDuplicate() {
  $this
    ->setUpKeyValueEntityStorage();
  $entity = $this
    ->getMockEntity('Drupal\\Core\\Entity\\EntityBase', [
    [
      'id' => 'foo',
    ],
  ]);
  $entity
    ->enforceIsNew();
  $this->keyValueStore
    ->expects($this
    ->once())
    ->method('has')
    ->will($this
    ->returnValue(TRUE));
  $this->keyValueStore
    ->expects($this
    ->never())
    ->method('set');
  $this->keyValueStore
    ->expects($this
    ->never())
    ->method('delete');
  $this
    ->expectException(EntityStorageException::class);
  $this
    ->expectExceptionMessage("'test_entity_type' entity with ID 'foo' already exists");
  $this->entityStorage
    ->save($entity);
}