/** * @covers ::isNewRevision * @covers ::setNewRevision */ 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->typedDataManager->expects($this->any())->method('getPropertyInstance')->with($this->entity->getTypedData(), '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()); }
/** * @covers ::setNewRevision */ public function testSetNewRevisionException() { $this->entityType->expects($this->once())->method('hasKey')->with('revision')->will($this->returnValue(FALSE)); $this->setExpectedException('LogicException', 'Entity type ' . $this->entityTypeId . ' does not support revisions.'); $this->entity->setNewRevision(); }