You are here

public function ContentEntityBaseUnitTest::testIsNewRevision in Drupal 10

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php \Drupal\Tests\Core\Entity\ContentEntityBaseUnitTest::testIsNewRevision()
  2. 9 core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php \Drupal\Tests\Core\Entity\ContentEntityBaseUnitTest::testIsNewRevision()

@covers ::isNewRevision @covers ::setNewRevision

File

core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php, line 221

Class

ContentEntityBaseUnitTest
@coversDefaultClass \Drupal\Core\Entity\ContentEntityBase @group Entity @group Access

Namespace

Drupal\Tests\Core\Entity

Code

public function testIsNewRevision() {

  // Set up the entity type so that on the first call there is no revision key
  // and on the second call there is one.
  $this->entityType
    ->expects($this
    ->exactly(4))
    ->method('hasKey')
    ->with('revision')
    ->willReturnOnConsecutiveCalls(FALSE, TRUE, TRUE, TRUE);
  $this->entityType
    ->expects($this
    ->exactly(2))
    ->method('getKey')
    ->with('revision')
    ->will($this
    ->returnValue('revision_id'));
  $field_item_list = $this
    ->getMockBuilder('\\Drupal\\Core\\Field\\FieldItemList')
    ->disableOriginalConstructor()
    ->getMock();
  $field_item = $this
    ->getMockBuilder('\\Drupal\\Core\\Field\\FieldItemBase')
    ->disableOriginalConstructor()
    ->getMockForAbstractClass();
  $this->fieldTypePluginManager
    ->expects($this
    ->any())
    ->method('createFieldItemList')
    ->with($this->entity, 'revision_id', NULL)
    ->will($this
    ->returnValue($field_item_list));
  $this->fieldDefinitions['revision_id']
    ->getItemDefinition()
    ->setClass(get_class($field_item));
  $this
    ->assertFalse($this->entity
    ->isNewRevision());
  $this
    ->assertTrue($this->entity
    ->isNewRevision());
  $this->entity
    ->setNewRevision(TRUE);
  $this
    ->assertTrue($this->entity
    ->isNewRevision());
}