diff --git a/Neos.Neos/Tests/Behavior/Features/Fusion/FlowQuery.feature b/Neos.Neos/Tests/Behavior/Features/Fusion/FlowQuery.feature index ee4ec0f3ada..2a8b9198d1f 100644 --- a/Neos.Neos/Tests/Behavior/Features/Fusion/FlowQuery.feature +++ b/Neos.Neos/Tests/Behavior/Features/Fusion/FlowQuery.feature @@ -271,3 +271,60 @@ Feature: Tests for the "Neos.ContentRepository" Flow Query methods. noFilter: a1a5,a1a6,a1a7 withFilter: a1a5,a1a6 """ + + Scenario: NextUntil + When I execute the following Fusion code: + """fusion + test = Neos.Fusion:DataStructure { + criteria = ${q(node).nextUntil('[instanceof Neos.Neos:Test.DocumentType1]').get()} + @process.render = Neos.Neos:Test.RenderNodesDataStructure + } + """ + Then I expect the following Fusion rendering result: + """ + criteria: a1a5,a1a6 + """ + + Scenario: PrevUntil + When I execute the following Fusion code: + """fusion + test = Neos.Fusion:DataStructure { + criteria = ${q(node).prevUntil('[instanceof Neos.Neos:Test.DocumentType1]').get()} + @process.render = Neos.Neos:Test.RenderNodesDataStructure + } + """ + Then I expect the following Fusion rendering result: + """ + criteria: a1a2,a1a3 + """ + + Scenario: Siblings + When I execute the following Fusion code: + """fusion + test = Neos.Fusion:DataStructure { + noFilter = ${q(node).siblings().get()} + withFilter = ${q(node).siblings('[instanceof Neos.Neos:Test.DocumentType1]').get()} + @process.render = Neos.Neos:Test.RenderNodesDataStructure + } + """ + Then I expect the following Fusion rendering result: + """ + noFilter: a1a1,a1a2,a1a3,a1a5,a1a6,a1a7 + withFilter: a1a1,a1a7 + """ + + Scenario: Find + When the Fusion context node is "a1" + When I execute the following Fusion code: + """fusion + test = Neos.Fusion:DataStructure { + typeFilter = ${q(node).find('[instanceof Neos.Neos:Test.DocumentType2]').get()} + combinedFilter = ${q(node).find('[instanceof Neos.Neos:Test.DocumentType2][uriPathSegment*="b1"]').get()} + @process.render = Neos.Neos:Test.RenderNodesDataStructure + } + """ + Then I expect the following Fusion rendering result: + """ + typeFilter: a1a,a1b1a,a1a2,a1b2,a1a3,a1a4,a1a5,a1a6 + combinedFilter: a1b1a + """