Skip to content

Commit 24891c1

Browse files
committed
fix: Corrected StarwarsQueryExecutor failing unit tests
1 parent 3c0e0f9 commit 24891c1

File tree

1 file changed

+20
-29
lines changed

1 file changed

+20
-29
lines changed

graphql-jpa-query-schema/src/test/java/com/introproventures/graphql/jpa/query/schema/StarwarsQueryExecutorTests.java

Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import javax.persistence.Query;
2828
import javax.transaction.Transactional;
2929

30-
import org.junit.Ignore;
3130
import org.junit.Test;
3231
import org.junit.runner.RunWith;
3332
import org.springframework.beans.factory.annotation.Autowired;
@@ -1740,21 +1739,19 @@ public void queryEmbeddedWhereWithRecursivePluralAssociationsNOT_EXISTS() {
17401739
assertThat(result.toString()).isEqualTo(expected);
17411740
}
17421741

1743-
// FIXME
17441742
@Test
1745-
@Ignore
1746-
public void queryEmbeddedWhereWithRecursivePluralAssociationsBug() {
1743+
public void queryEmbeddedWhereWithManyToManyAssociations() {
17471744

17481745
//given:
17491746
String query = "{" +
17501747
" Droids(where: {" +
1751-
" friends: {friends:{name:{EQ:\"Leia Organa\"}}}" +
1748+
" friends: {friendsOf:{name:{EQ:\"Leia Organa\"}}}" +
17521749
" }) {" +
17531750
" select {" +
17541751
" name" +
17551752
" friends {" +
17561753
" name" +
1757-
" friends {" +
1754+
" friendsOf {" +
17581755
" name" +
17591756
" }" +
17601757
" }" +
@@ -1764,14 +1761,15 @@ public void queryEmbeddedWhereWithRecursivePluralAssociationsBug() {
17641761

17651762
String expected = "{Droids={select=["
17661763
+ "{name=C-3PO, friends=["
1767-
+ "{name=Han Solo, friends=[{name=Leia Organa}]}, "
1768-
+ "{name=Luke Skywalker, friends=[{name=Leia Organa}]}, "
1769-
+ "{name=R2-D2, friends=[{name=Leia Organa}" // should include only Leia Organa as friends
1770-
+ "]}]}, "
1764+
+ "{name=Han Solo, friendsOf=[{name=Leia Organa}]}, "
1765+
+ "{name=Luke Skywalker, friendsOf=[{name=Leia Organa}]}, "
1766+
+ "{name=R2-D2, friendsOf=[{name=Leia Organa}]}"
1767+
+ "]}, "
17711768
+ "{name=R2-D2, friends=["
1772-
//+ "{name=Leia Organa, friends=[{name=C-3PO}, {name=Han Solo}, {name=Luke Skywalker}, {name=R2-D2}]}, " // should not be in the result
1773-
+ "{name=Han Solo, friends=[{name=Leia Organa}]}, "
1774-
+ "{name=Luke Skywalker, friends=[{name=Leia Organa}]}]}]}}";
1769+
+ "{name=Han Solo, friendsOf=[{name=Leia Organa}]}, "
1770+
+ "{name=Luke Skywalker, friendsOf=[{name=Leia Organa}]}"
1771+
+ "]}"
1772+
+ "]}}";
17751773

17761774
//when:
17771775
Object result = executor.execute(query).getData();
@@ -1780,22 +1778,17 @@ public void queryEmbeddedWhereWithRecursivePluralAssociationsBug() {
17801778
assertThat(result.toString()).isEqualTo(expected);
17811779
}
17821780

1783-
1784-
// FIXME
17851781
@Test
1786-
@Ignore
1787-
public void queryEmbeddedWhereWithRecursivePluralAssociationsEXISTSBug() {
1782+
public void queryEmbeddedWhereWithManyToManyAssociationsUsingEXISTS() {
17881783

17891784
//given:
17901785
String query = "{" +
1791-
" Droids(where: {" +
1792-
" friends: {EXISTS: {friends:{name:{EQ:\"Leia Organa\"}}}}" +
1793-
" }) {" +
1786+
" Droids {" +
17941787
" select {" +
17951788
" name" +
1796-
" friends {" +
1789+
" friends(where: {EXISTS: {friendsOf:{name:{EQ:\"Leia Organa\"}}}}) {" +
17971790
" name" +
1798-
" friends {" +
1791+
" friendsOf {" +
17991792
" name" +
18001793
" }" +
18011794
" }" +
@@ -1805,14 +1798,12 @@ public void queryEmbeddedWhereWithRecursivePluralAssociationsEXISTSBug() {
18051798

18061799
String expected = "{Droids={select=["
18071800
+ "{name=C-3PO, friends=["
1808-
+ "{name=Han Solo, friends=[{name=Leia Organa}, {name=Luke Skywalker}, {name=R2-D2}]}, "
1809-
+ "{name=Luke Skywalker, friends=[{name=C-3PO}, {name=Han Solo}, {name=Leia Organa}, {name=R2-D2}]}, "
1810-
+ "{name=R2-D2, friends=[{name=Han Solo}, {name=Leia Organa}, {name=Luke Skywalker}]}"
1801+
+ "{name=Han Solo, friendsOf=[{name=C-3PO}, {name=Leia Organa}, {name=Luke Skywalker}, {name=R2-D2}]}, "
1802+
+ "{name=Luke Skywalker, friendsOf=[{name=C-3PO}, {name=Han Solo}, {name=Leia Organa}, {name=R2-D2}]}, "
1803+
+ "{name=R2-D2, friendsOf=[{name=C-3PO}, {name=Han Solo}, {name=Leia Organa}, {name=Luke Skywalker}]}"
18111804
+ "]}, "
1812-
+ "{name=R2-D2, friends=["
1813-
+ "{name=Han Solo, friends=[{name=Leia Organa}, {name=Luke Skywalker}, {name=R2-D2}]}, "
1814-
//+ "{name=Leia Organa, friends=[{name=C-3PO}, {name=Han Solo}, {name=Luke Skywalker}, {name=R2-D2}]}, " // should not be in the result
1815-
+ "{name=Luke Skywalker, friends=[{name=C-3PO}, {name=Han Solo}, {name=Leia Organa}, {name=R2-D2}]}"
1805+
+ "{name=R2-D2, friends=[{name=Han Solo, friendsOf=[{name=C-3PO}, {name=Leia Organa}, {name=Luke Skywalker}, {name=R2-D2}]}, "
1806+
+ "{name=Luke Skywalker, friendsOf=[{name=C-3PO}, {name=Han Solo}, {name=Leia Organa}, {name=R2-D2}]}"
18161807
+ "]}"
18171808
+ "]}}";
18181809

0 commit comments

Comments
 (0)