@@ -878,7 +878,10 @@ describe('Cloud Code', () => {
878878 url : 'https://some.url' ,
879879 } ) ,
880880 array : [ 'a' , 'b' , 'c' ] ,
881- arrayOfArray : [ [ 'a' , 'b' , 'c' ] , [ 'd' , 'e' , 'f' ] ] ,
881+ arrayOfArray : [
882+ [ 'a' , 'b' , 'c' ] ,
883+ [ 'd' , 'e' , 'f' ] ,
884+ ] ,
882885 } ;
883886 Parse . Cloud . run ( 'params' , params ) . then ( ( ) => {
884887 done ( ) ;
@@ -1763,8 +1766,15 @@ describe('beforeFind hooks', () => {
17631766 expect ( jsonQuery . where . key ) . toEqual ( 'value' ) ;
17641767 expect ( jsonQuery . where . some ) . toEqual ( { $gt : 10 } ) ;
17651768 expect ( jsonQuery . include ) . toEqual ( 'otherKey,otherValue' ) ;
1769+ expect ( jsonQuery . excludeKeys ) . toBe ( 'exclude' ) ;
17661770 expect ( jsonQuery . limit ) . toEqual ( 100 ) ;
17671771 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+
17681778 expect ( req . isGet ) . toEqual ( false ) ;
17691779 } ) ;
17701780
@@ -1773,6 +1783,10 @@ describe('beforeFind hooks', () => {
17731783 query . greaterThan ( 'some' , 10 ) ;
17741784 query . include ( 'otherKey' ) ;
17751785 query . include ( 'otherValue' ) ;
1786+ query . ascending ( 'key' ) ;
1787+ query . select ( 'select' ) ;
1788+ query . exclude ( 'exclude' ) ;
1789+ query . readPreference ( 'PRIMARY' , 'SECONDARY' , 'SECONDARY_PREFERRED' ) ;
17761790 query . find ( ) . then ( ( ) => {
17771791 done ( ) ;
17781792 } ) ;
@@ -1824,6 +1838,25 @@ describe('beforeFind hooks', () => {
18241838 } ) ;
18251839 } ) ;
18261840
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+
18271860 it ( 'should reject queries' , done => {
18281861 Parse . Cloud . beforeFind ( 'MyObject' , ( ) => {
18291862 return Promise . reject ( 'Do not run that query' ) ;
0 commit comments