27
27
import javax .persistence .Query ;
28
28
import javax .transaction .Transactional ;
29
29
30
- import org .junit .Ignore ;
31
30
import org .junit .Test ;
32
31
import org .junit .runner .RunWith ;
33
32
import org .springframework .beans .factory .annotation .Autowired ;
@@ -1740,21 +1739,19 @@ public void queryEmbeddedWhereWithRecursivePluralAssociationsNOT_EXISTS() {
1740
1739
assertThat (result .toString ()).isEqualTo (expected );
1741
1740
}
1742
1741
1743
- // FIXME
1744
1742
@ Test
1745
- @ Ignore
1746
- public void queryEmbeddedWhereWithRecursivePluralAssociationsBug () {
1743
+ public void queryEmbeddedWhereWithManyToManyAssociations () {
1747
1744
1748
1745
//given:
1749
1746
String query = "{" +
1750
1747
" Droids(where: {" +
1751
- " friends: {friends :{name:{EQ:\" Leia Organa\" }}}" +
1748
+ " friends: {friendsOf :{name:{EQ:\" Leia Organa\" }}}" +
1752
1749
" }) {" +
1753
1750
" select {" +
1754
1751
" name" +
1755
1752
" friends {" +
1756
1753
" name" +
1757
- " friends {" +
1754
+ " friendsOf {" +
1758
1755
" name" +
1759
1756
" }" +
1760
1757
" }" +
@@ -1764,14 +1761,15 @@ public void queryEmbeddedWhereWithRecursivePluralAssociationsBug() {
1764
1761
1765
1762
String expected = "{Droids={select=["
1766
1763
+ "{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
+ + "]}, "
1771
1768
+ "{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
+ + "]}}" ;
1775
1773
1776
1774
//when:
1777
1775
Object result = executor .execute (query ).getData ();
@@ -1780,22 +1778,17 @@ public void queryEmbeddedWhereWithRecursivePluralAssociationsBug() {
1780
1778
assertThat (result .toString ()).isEqualTo (expected );
1781
1779
}
1782
1780
1783
-
1784
- // FIXME
1785
1781
@ Test
1786
- @ Ignore
1787
- public void queryEmbeddedWhereWithRecursivePluralAssociationsEXISTSBug () {
1782
+ public void queryEmbeddedWhereWithManyToManyAssociationsUsingEXISTS () {
1788
1783
1789
1784
//given:
1790
1785
String query = "{" +
1791
- " Droids(where: {" +
1792
- " friends: {EXISTS: {friends:{name:{EQ:\" Leia Organa\" }}}}" +
1793
- " }) {" +
1786
+ " Droids {" +
1794
1787
" select {" +
1795
1788
" name" +
1796
- " friends {" +
1789
+ " friends(where: {EXISTS: {friendsOf:{name:{EQ: \" Leia Organa \" }}}}) {" +
1797
1790
" name" +
1798
- " friends {" +
1791
+ " friendsOf {" +
1799
1792
" name" +
1800
1793
" }" +
1801
1794
" }" +
@@ -1805,14 +1798,12 @@ public void queryEmbeddedWhereWithRecursivePluralAssociationsEXISTSBug() {
1805
1798
1806
1799
String expected = "{Droids={select=["
1807
1800
+ "{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}]}"
1811
1804
+ "]}, "
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}]}"
1816
1807
+ "]}"
1817
1808
+ "]}}" ;
1818
1809
0 commit comments