plexus-engine 0.3.4

Engine integration traits for consuming Plexus plans
Documentation
Feature: core write scenarios

@write @create @set
Scenario: create node and set property
Given an empty graph
When executing query:
"""
CREATE (n:Person)
SET n.name = 'Alice'
RETURN n.name
"""
Then the result should be, in order:
| string:Alice |

@write @merge
Scenario: merge relationship is idempotent across repeated execution
Given an empty graph
Given setup query:
"""
CREATE (n:Person)
SET n.name = 'Alice'
RETURN n
"""
Given setup query:
"""
MATCH (n:Person)
WHERE n.name = 'Alice'
MERGE (n)-[:MANAGES]->(m:Company)
RETURN n
"""
When executing query:
"""
MATCH (n:Person)
WHERE n.name = 'Alice'
MERGE (n)-[:MANAGES]->(m:Company)
WITH n
MATCH (n)-[:MANAGES]->(m:Company)
RETURN count(*) AS rel_count
"""
Then the result should be, in order:
| int:1 |

@write @delete
@gql
Scenario: gql delete relationship preserves source row
When executing query:
"""
MATCH (n:Person)-[r:KNOWS]->(m:Person)
FILTER n.name = 'Alice'
DELETE r
RETURN n.name AS name
"""
Then the result should be, in order:
| string:Alice |