PHP Class Neos\ContentRepository\Tests\Functional\Domain\NodesTest

Inheritance: extends Neos\Flow\Tests\FunctionalTestCase
Afficher le fichier Open project: neos/neos-development-collection

Protected Properties

Свойство Type Description
$contentDimensionRepository Neos\ContentRepository\Domain\Repository\ContentDimensionRepository
$context Neos\ContentRepository\Domain\Service\Context
$contextFactory Neos\ContentRepository\Domain\Service\ContextFactoryInterface
$liveWorkspace Neos\ContentRepository\Domain\Model\Workspace
$nodeDataRepository Neos\ContentRepository\Domain\Repository\NodeDataRepository
$nodeTypeManager Neos\ContentRepository\Domain\Service\NodeTypeManager
$testablePersistenceEnabled boolean
$workspaceRepository Neos\ContentRepository\Domain\Repository\WorkspaceRepository

Méthodes publiques

Méthode Description
adoptNodeMatchesTargetContextDimensions ( )
adoptNodeReturnsExistingNodeWithMatchingDimensionsIfPossible ( )
adoptNodeWithExistingNodeMatchingTargetDimensionValuesWillReuseNode ( )
copyAfterThrowsExceptionIfTargetExists ( )
copyBeforeThrowsExceptionIfTargetExists ( )
copyIntoThrowsExceptionIfTargetExists ( )
createVariantForContextAlsoWorksIfTheTargetWorkspaceDiffersFromTheSourceWorkspace ( )
createVariantForContextMatchesTargetContextDimensions ( )
createdNodesHaveDefaultValuesSet ( )
createdNodesHaveSubNodesCreatedIfDefinedInNodeType ( )
creatingAChildNodeAndRetrievingItAfterPersistAllWorks ( )
getChildNodesSupportsSettingALimitAndOffset ( )
getChildNodesWithNodeTypeFilterWorks ( )
getChildNodesWorksCaseInsensitive ( )
getLabelUsesFallbackExpression ( )
getPropertiesReturnsReferencePropertiesAsNodeObjects ( )
getPropertyDoesNotReturnNodeReferencesIfTheyAreNotVisibleAccordingToTheContentContext ( )
getPropertyReturnsReferencedNodesInCorrectWorkspace ( )
moveAfterMovesNodesAfterOthersOnDifferentLevelWithPersistAll ( )
moveAfterMovesNodesAfterOthersOnDifferentLevelWithoutPersistAll ( )
moveAfterNodesWithHigherIndexMovesNodesAfterOthersWithPersistAll ( )
moveAfterNodesWithHigherIndexMovesNodesAfterOthersWithoutPersistAll ( )
moveAfterNodesWithLowerIndexMovesNodesAfterOthersWithPersistAll ( )
moveAfterNodesWithLowerIndexMovesNodesAfterOthersWithoutPersistAll ( )
moveAfterThrowsExceptionIfTargetExists ( )
moveAndRenameAtTheSameTime ( )
moveBeforeInASeparateWorkspaceLeadsToCorrectSortingAcrossWorkspaces ( )
moveBeforeMovesNodesBeforeOthersOnDifferentLevelWithPersistAll ( )
moveBeforeMovesNodesBeforeOthersOnDifferentLevelWithoutPersistAll ( )
moveBeforeMovesNodesBeforeOthersWithoutPersistAll ( )
moveBeforeNodesWithHigherIndexMovesNodesBeforeOthersWithPersistAll ( )
moveBeforeNodesWithHigherIndexMovesNodesBeforeOthersWithoutPersistAll ( )
moveBeforeNodesWithLowerIndexMovesNodesBeforeOthersWithPersistAll ( )
moveBeforeThrowsExceptionIfTargetExists ( )
moveIntoMovesNodesIntoOthersOnDifferentLevelWithPersistAll ( )
moveIntoMovesNodesIntoOthersOnDifferentLevelWithoutPersistAll ( )
moveIntoThrowsExceptionIfTargetExists ( )
nodeCreationThrowsExceptionIfNodeNameContainsUppercaseCharacters ( )
nodeDataRepositoryRenumbersNodesIfNoFreeSortingIndexesAreAvailable ( )
nodeDataRepositoryRenumbersNodesIfNoFreeSortingIndexesAreAvailableAcrossDimensions ( )
nodeFactoryCachesCreatedNodesBasedOnIdentifierAndDimensions ( )
nodesAreCopiedAfterRecursively ( )
nodesAreCopiedBeforeRecursively ( )
nodesAreCopiedIntoRecursively ( )
nodesAreCopiedIntoThemselvesRecursively ( )
nodesCanBeCopiedAfter ( )
nodesCanBeCopiedAfterAndBeforeAndKeepProperties ( )
nodesCanBeCopiedBefore ( )
nodesCanBeCopiedInto ( )
nodesCanBeCopiedIntoThemselves ( )
nodesCanBeRenamed ( )
nodesCanHaveCustomImplementationClass ( )
nodesCreatedInTheLiveWorkspacesCanBeRetrievedAgainInTheLiveContext ( )
nodesInPathAreHiddenIfBetterVariantInOtherPathExists ( )
postprocessorUpdatesNodeTypesProperty ( )
removedNodesAreNotCountedAsChildNodes ( )
removedNodesCannotBeRetrievedAnymore ( )
renumberingTakesUnpersistedNodeOrderChangesIntoAccount ( ) Testcase for bug #34291 (ContentRepository reordering does not take unpersisted node order changes into account)
setNameWorksRecursively ( )
setPropertyAcceptsAndConvertsIdentifierIfTargetTypeIsReference ( )
setPropertyAcceptsAndConvertsIdentifiersIfTargetTypeIsReferences ( )
setUp ( ) : void
tearDown ( ) : void
threeChildNodesOfTheRootNodeCanBeRetrievedInSameOrder ( )
threeCreatedNodesCanBeRetrievedInSameOrder ( )

Méthodes protégées

Méthode Description
assertSameOrder ( array $expectedNodes, array $actualNodes ) : void Asserts that the order of the given nodes is the same.

Method Details

adoptNodeMatchesTargetContextDimensions() public méthode

adoptNodeReturnsExistingNodeWithMatchingDimensionsIfPossible() public méthode

adoptNodeWithExistingNodeMatchingTargetDimensionValuesWillReuseNode() public méthode

assertSameOrder() protected méthode

This doesn't check if the node objects are the same or equal but rather tests if their path is identical. Therefore nodes can be in different workspaces or nodes.
protected assertSameOrder ( array $expectedNodes, array $actualNodes ) : void
$expectedNodes array The expected order
$actualNodes array The actual order
Résultat void

copyAfterThrowsExceptionIfTargetExists() public méthode

copyBeforeThrowsExceptionIfTargetExists() public méthode

copyIntoThrowsExceptionIfTargetExists() public méthode

createVariantForContextAlsoWorksIfTheTargetWorkspaceDiffersFromTheSourceWorkspace() public méthode

createVariantForContextMatchesTargetContextDimensions() public méthode

createdNodesHaveDefaultValuesSet() public méthode

createdNodesHaveSubNodesCreatedIfDefinedInNodeType() public méthode

creatingAChildNodeAndRetrievingItAfterPersistAllWorks() public méthode

getChildNodesSupportsSettingALimitAndOffset() public méthode

getChildNodesWithNodeTypeFilterWorks() public méthode

getChildNodesWorksCaseInsensitive() public méthode

getLabelUsesFallbackExpression() public méthode

getPropertiesReturnsReferencePropertiesAsNodeObjects() public méthode

getPropertyDoesNotReturnNodeReferencesIfTheyAreNotVisibleAccordingToTheContentContext() public méthode

getPropertyReturnsReferencedNodesInCorrectWorkspace() public méthode

moveAfterMovesNodesAfterOthersOnDifferentLevelWithPersistAll() public méthode

moveAfterMovesNodesAfterOthersOnDifferentLevelWithoutPersistAll() public méthode

moveAfterNodesWithHigherIndexMovesNodesAfterOthersWithPersistAll() public méthode

moveAfterNodesWithHigherIndexMovesNodesAfterOthersWithoutPersistAll() public méthode

moveAfterNodesWithLowerIndexMovesNodesAfterOthersWithPersistAll() public méthode

moveAfterNodesWithLowerIndexMovesNodesAfterOthersWithoutPersistAll() public méthode

moveAfterThrowsExceptionIfTargetExists() public méthode

moveAndRenameAtTheSameTime() public méthode

moveBeforeInASeparateWorkspaceLeadsToCorrectSortingAcrossWorkspaces() public méthode

moveBeforeMovesNodesBeforeOthersOnDifferentLevelWithPersistAll() public méthode

moveBeforeMovesNodesBeforeOthersOnDifferentLevelWithoutPersistAll() public méthode

moveBeforeMovesNodesBeforeOthersWithoutPersistAll() public méthode

moveBeforeNodesWithHigherIndexMovesNodesBeforeOthersWithPersistAll() public méthode

moveBeforeNodesWithHigherIndexMovesNodesBeforeOthersWithoutPersistAll() public méthode

moveBeforeNodesWithLowerIndexMovesNodesBeforeOthersWithPersistAll() public méthode

moveBeforeThrowsExceptionIfTargetExists() public méthode

moveIntoMovesNodesIntoOthersOnDifferentLevelWithPersistAll() public méthode

moveIntoMovesNodesIntoOthersOnDifferentLevelWithoutPersistAll() public méthode

moveIntoThrowsExceptionIfTargetExists() public méthode

nodeCreationThrowsExceptionIfNodeNameContainsUppercaseCharacters() public méthode

nodeDataRepositoryRenumbersNodesIfNoFreeSortingIndexesAreAvailable() public méthode

nodeDataRepositoryRenumbersNodesIfNoFreeSortingIndexesAreAvailableAcrossDimensions() public méthode

nodeFactoryCachesCreatedNodesBasedOnIdentifierAndDimensions() public méthode

nodesAreCopiedAfterRecursively() public méthode

nodesAreCopiedBeforeRecursively() public méthode

nodesAreCopiedIntoRecursively() public méthode

nodesAreCopiedIntoThemselvesRecursively() public méthode

nodesCanBeCopiedAfter() public méthode

nodesCanBeCopiedAfterAndBeforeAndKeepProperties() public méthode

nodesCanBeCopiedBefore() public méthode

nodesCanBeCopiedInto() public méthode

nodesCanBeCopiedIntoThemselves() public méthode

nodesCanBeRenamed() public méthode

public nodesCanBeRenamed ( )

nodesCanHaveCustomImplementationClass() public méthode

nodesCreatedInTheLiveWorkspacesCanBeRetrievedAgainInTheLiveContext() public méthode

nodesInPathAreHiddenIfBetterVariantInOtherPathExists() public méthode

postprocessorUpdatesNodeTypesProperty() public méthode

removedNodesAreNotCountedAsChildNodes() public méthode

removedNodesCannotBeRetrievedAnymore() public méthode

renumberingTakesUnpersistedNodeOrderChangesIntoAccount() public méthode

The error can be reproduced in the following way: - First, create some nodes, and persist. - Then, move a node after another one, filling the LAST free sorting index between the nodes. Do NOT persist after that. - After that, try to *again* move a node to this spot. In this case, we need to *renumber* the node indices, and the system needs to take the before-moved node into account as well. The bug tested by this testcase led to wrong orderings on the floworg website in the documentation part under some circumstances.

setNameWorksRecursively() public méthode

setPropertyAcceptsAndConvertsIdentifierIfTargetTypeIsReference() public méthode

setPropertyAcceptsAndConvertsIdentifiersIfTargetTypeIsReferences() public méthode

setUp() public méthode

public setUp ( ) : void
Résultat void

tearDown() public méthode

public tearDown ( ) : void
Résultat void

threeChildNodesOfTheRootNodeCanBeRetrievedInSameOrder() public méthode

threeCreatedNodesCanBeRetrievedInSameOrder() public méthode

Property Details

$contentDimensionRepository protected_oe property

protected ContentDimensionRepository,Neos\ContentRepository\Domain\Repository $contentDimensionRepository
Résultat Neos\ContentRepository\Domain\Repository\ContentDimensionRepository

$context protected_oe property

protected Context,Neos\ContentRepository\Domain\Service $context
Résultat Neos\ContentRepository\Domain\Service\Context

$contextFactory protected_oe property

protected ContextFactoryInterface,Neos\ContentRepository\Domain\Service $contextFactory
Résultat Neos\ContentRepository\Domain\Service\ContextFactoryInterface

$liveWorkspace protected_oe property

protected Workspace,Neos\ContentRepository\Domain\Model $liveWorkspace
Résultat Neos\ContentRepository\Domain\Model\Workspace

$nodeDataRepository protected_oe property

protected NodeDataRepository,Neos\ContentRepository\Domain\Repository $nodeDataRepository
Résultat Neos\ContentRepository\Domain\Repository\NodeDataRepository

$nodeTypeManager protected_oe property

protected NodeTypeManager,Neos\ContentRepository\Domain\Service $nodeTypeManager
Résultat Neos\ContentRepository\Domain\Service\NodeTypeManager

$testablePersistenceEnabled protected_oe static_oe property

protected static bool $testablePersistenceEnabled
Résultat boolean

$workspaceRepository protected_oe property

protected WorkspaceRepository,Neos\ContentRepository\Domain\Repository $workspaceRepository
Résultat Neos\ContentRepository\Domain\Repository\WorkspaceRepository