@@ -878,7 +878,10 @@ describe('Cloud Code', () => {
878
878
url : 'https://some.url' ,
879
879
} ) ,
880
880
array : [ 'a' , 'b' , 'c' ] ,
881
- arrayOfArray : [ [ 'a' , 'b' , 'c' ] , [ 'd' , 'e' , 'f' ] ] ,
881
+ arrayOfArray : [
882
+ [ 'a' , 'b' , 'c' ] ,
883
+ [ 'd' , 'e' , 'f' ] ,
884
+ ] ,
882
885
} ;
883
886
Parse . Cloud . run ( 'params' , params ) . then ( ( ) => {
884
887
done ( ) ;
@@ -1763,8 +1766,15 @@ describe('beforeFind hooks', () => {
1763
1766
expect ( jsonQuery . where . key ) . toEqual ( 'value' ) ;
1764
1767
expect ( jsonQuery . where . some ) . toEqual ( { $gt : 10 } ) ;
1765
1768
expect ( jsonQuery . include ) . toEqual ( 'otherKey,otherValue' ) ;
1769
+ expect ( jsonQuery . excludeKeys ) . toBe ( 'exclude' ) ;
1766
1770
expect ( jsonQuery . limit ) . toEqual ( 100 ) ;
1767
1771
expect ( jsonQuery . skip ) . toBe ( undefined ) ;
1772
+ expect ( jsonQuery . order ) . toBe ( 'key' ) ;
1773
+ expect ( jsonQuery . keys ) . toBe ( 'select' ) ;
1774
+ expect ( jsonQuery . readPreference ) . toBe ( 'PRIMARY' ) ;
1775
+ expect ( jsonQuery . includeReadPreference ) . toBe ( 'SECONDARY' ) ;
1776
+ expect ( jsonQuery . subqueryReadPreference ) . toBe ( 'SECONDARY_PREFERRED' ) ;
1777
+
1768
1778
expect ( req . isGet ) . toEqual ( false ) ;
1769
1779
} ) ;
1770
1780
@@ -1773,6 +1783,10 @@ describe('beforeFind hooks', () => {
1773
1783
query . greaterThan ( 'some' , 10 ) ;
1774
1784
query . include ( 'otherKey' ) ;
1775
1785
query . include ( 'otherValue' ) ;
1786
+ query . ascending ( 'key' ) ;
1787
+ query . select ( 'select' ) ;
1788
+ query . exclude ( 'exclude' ) ;
1789
+ query . readPreference ( 'PRIMARY' , 'SECONDARY' , 'SECONDARY_PREFERRED' ) ;
1776
1790
query . find ( ) . then ( ( ) => {
1777
1791
done ( ) ;
1778
1792
} ) ;
@@ -1824,6 +1838,25 @@ describe('beforeFind hooks', () => {
1824
1838
} ) ;
1825
1839
} ) ;
1826
1840
1841
+ it ( 'should use the modified exclude query' , async ( ) => {
1842
+ Parse . Cloud . beforeFind ( 'MyObject' , req => {
1843
+ const q = req . query ;
1844
+ q . exclude ( 'number' ) ;
1845
+ } ) ;
1846
+
1847
+ const obj = new Parse . Object ( 'MyObject' ) ;
1848
+ obj . set ( 'number' , 100 ) ;
1849
+ obj . set ( 'string' , 'hello' ) ;
1850
+ await obj . save ( ) ;
1851
+
1852
+ const query = new Parse . Query ( 'MyObject' ) ;
1853
+ query . equalTo ( 'objectId' , obj . id ) ;
1854
+ const results = await query . find ( ) ;
1855
+ expect ( results . length ) . toBe ( 1 ) ;
1856
+ expect ( results [ 0 ] . get ( 'number' ) ) . toBeUndefined ( ) ;
1857
+ expect ( results [ 0 ] . get ( 'string' ) ) . toBe ( 'hello' ) ;
1858
+ } ) ;
1859
+
1827
1860
it ( 'should reject queries' , done => {
1828
1861
Parse . Cloud . beforeFind ( 'MyObject' , ( ) => {
1829
1862
return Promise . reject ( 'Do not run that query' ) ;
0 commit comments