Remove the Sulu property from given repository node.
public remove ( PHPCR\NodeInterface $node, Sulu\Component\Content\Compat\PropertyInterface $property, string $webspaceKey, string $languageCode, string $segmentKey ) | ||
$node | PHPCR\NodeInterface | |
$property | Sulu\Component\Content\Compat\PropertyInterface | |
$webspaceKey | string | |
$languageCode | string | |
$segmentKey | string |
public function testRemove() { $this->property->expects($this->any())->method('getName')->will($this->returnValue('i18n:de-hotels')); $pageNode = $this->session->getNode('/cmf/sulu_io/contents/hotels'); $this->contentType->remove($pageNode, $this->property, 'sulu_io', 'de', null); $this->session->save(); $this->assertFalse($pageNode->hasProperty('i18n:de-hotels')); }
/** * It should set the structure type and map the content to thethe node. */ public function testPersist() { $document = new TestContentDocument($this->structure->reveal()); $document->setStructureType('foobar'); $this->persistEvent->getDocument()->willReturn($document); // map the structure type $this->persistEvent->getLocale()->willReturn('fr'); $this->encoder->contentName('template')->willReturn('i18n:fr-template'); $this->node->setProperty('i18n:fr-template', 'foobar')->shouldBeCalled(); // map the content $this->inspector->getStructureMetadata($document)->willReturn($this->structureMetadata->reveal()); $this->inspector->getWebspace($document)->willReturn('webspace'); $this->structureMetadata->getProperties()->willReturn(['prop1' => $this->structureProperty->reveal()]); $this->structureProperty->isRequired()->willReturn(true); $this->structureProperty->getContentTypeName()->willReturn('content_type'); $this->contentTypeManager->get('content_type')->willReturn($this->contentType->reveal()); $this->propertyFactory->createTranslatedProperty($this->structureProperty->reveal(), 'fr')->willReturn($this->legacyProperty->reveal()); $this->structure->getProperty('prop1')->willReturn($this->propertyValue->reveal()); $this->propertyValue->getValue()->willReturn('test'); $this->contentType->remove($this->node->reveal(), $this->legacyProperty->reveal(), 'webspace', 'fr', null)->shouldBeCalled(); $this->contentType->write($this->node->reveal(), $this->legacyProperty->reveal(), null, 'webspace', 'fr', null)->shouldBeCalled(); $this->subscriber->handlePersist($this->persistEvent->reveal()); }