You are here

public function ContentEntityBaseUnitTest::testIsNewRevision in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 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 201
Contains \Drupal\Tests\Core\Entity\ContentEntityBaseUnitTest.

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
    ->at(0))
    ->method('hasKey')
    ->with('revision')
    ->will($this
    ->returnValue(FALSE));
  $this->entityType
    ->expects($this
    ->at(1))
    ->method('hasKey')
    ->with('revision')
    ->will($this
    ->returnValue(TRUE));
  $this->entityType
    ->expects($this
    ->at(2))
    ->method('hasKey')
    ->with('revision')
    ->will($this
    ->returnValue(TRUE));
  $this->entityType
    ->expects($this
    ->at(3))
    ->method('getKey')
    ->with('revision')
    ->will($this
    ->returnValue('revision_id'));
  $this->entityType
    ->expects($this
    ->at(4))
    ->method('hasKey')
    ->with('revision')
    ->will($this
    ->returnValue(TRUE));
  $this->entityType
    ->expects($this
    ->at(5))
    ->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());
}