3232
3333class Neo4JQueryBuilderTest {
3434
35-
3635 @ Test
3736 void shouldBuildDeleteQueryForNode () {
3837 DeleteQuery query = mock (DeleteQuery .class );
@@ -63,6 +62,7 @@ void shouldBuildDeleteQueryForSpecificColumns() {
6362 void shouldBuildSelectQueryWithCondition () {
6463 SelectQuery query = mock (SelectQuery .class );
6564 when (query .name ()).thenReturn ("Person" );
65+
6666 CriteriaCondition condition = mock (CriteriaCondition .class );
6767 Element element = mock (Element .class );
6868 when (condition .element ()).thenReturn (element );
@@ -91,4 +91,26 @@ void shouldBuildSelectQueryWithoutCondition() {
9191
9292 assertThat (cypher ).isEqualTo ("MATCH (e:Person) RETURN e.name, e.age" );
9393 }
94+
95+ @ Test
96+ void shouldTranslateIdToElementId () {
97+ SelectQuery query = mock (SelectQuery .class );
98+ when (query .name ()).thenReturn ("Person" );
99+
100+ CriteriaCondition condition = mock (CriteriaCondition .class );
101+ Element element = mock (Element .class );
102+ when (condition .element ()).thenReturn (element );
103+ when (element .name ()).thenReturn ("_id" );
104+ when (element .get ()).thenReturn ("12345" );
105+ when (condition .condition ()).thenReturn (org .eclipse .jnosql .communication .Condition .EQUALS );
106+ when (query .condition ()).thenReturn (java .util .Optional .of (condition ));
107+ when (query .columns ()).thenReturn (List .of ("name" , "_id" ));
108+
109+ Map <String , Object > parameters = new HashMap <>();
110+ String cypher = Neo4JQueryBuilder .INSTANCE .buildQuery (query , parameters );
111+
112+ assertThat (cypher ).isEqualTo ("MATCH (e:Person) WHERE elementId(e) = $id RETURN e.name, elementId(e)" );
113+ assertThat (parameters ).containsEntry ("id" , "12345" );
114+ }
115+
94116}
0 commit comments