@@ -17,9 +17,6 @@ var dummySchema = {
1717 }
1818 return ;
1919 } ,
20- getRelationFields : function ( ) {
21- return { }
22- }
2320} ;
2421
2522
@@ -39,7 +36,7 @@ describe('parseObjectToMongoObjectForCreate', () => {
3936 createdAt : "2015-10-06T21:24:50.332Z" ,
4037 updatedAt : "2015-10-06T21:24:50.332Z"
4138 } ;
42- var output = transform . parseObjectToMongoObjectForCreate ( dummySchema , null , input ) ;
39+ var output = transform . parseObjectToMongoObjectForCreate ( dummySchema , null , input , { fields : { } } ) ;
4340 expect ( output . _created_at instanceof Date ) . toBe ( true ) ;
4441 expect ( output . _updated_at instanceof Date ) . toBe ( true ) ;
4542 done ( ) ;
@@ -62,14 +59,14 @@ describe('parseObjectToMongoObjectForCreate', () => {
6259 //have __op delete in a new object. Figure out what this should actually be testing.
6360 notWorking ( 'a delete op' , ( done ) => {
6461 var input = { deleteMe : { __op : 'Delete' } } ;
65- var output = transform . parseObjectToMongoObjectForCreate ( dummySchema , null , input ) ;
62+ var output = transform . parseObjectToMongoObjectForCreate ( dummySchema , null , input , { fields : { } } ) ;
6663 jequal ( output , { } ) ;
6764 done ( ) ;
6865 } ) ;
6966
7067 it ( 'basic ACL' , ( done ) => {
7168 var input = { ACL : { '0123' : { 'read' : true , 'write' : true } } } ;
72- var output = transform . parseObjectToMongoObjectForCreate ( dummySchema , null , input ) ;
69+ var output = transform . parseObjectToMongoObjectForCreate ( dummySchema , null , input , { fields : { } } ) ;
7370 // This just checks that it doesn't crash, but it should check format.
7471 done ( ) ;
7572 } ) ;
@@ -124,15 +121,17 @@ describe('transformWhere', () => {
124121describe ( 'mongoObjectToParseObject' , ( ) => {
125122 it ( 'built-in timestamps' , ( done ) => {
126123 var input = { createdAt : new Date ( ) , updatedAt : new Date ( ) } ;
127- var output = transform . mongoObjectToParseObject ( dummySchema , null , input ) ;
124+ var output = transform . mongoObjectToParseObject ( null , input , { fields : { } } ) ;
128125 expect ( typeof output . createdAt ) . toEqual ( 'string' ) ;
129126 expect ( typeof output . updatedAt ) . toEqual ( 'string' ) ;
130127 done ( ) ;
131128 } ) ;
132129
133130 it ( 'pointer' , ( done ) => {
134131 var input = { _p_userPointer : '_User$123' } ;
135- var output = transform . mongoObjectToParseObject ( dummySchema , null , input ) ;
132+ var output = transform . mongoObjectToParseObject ( null , input , {
133+ fields : { userPointer : { type : 'Pointer' , targetClass : '_User' } } ,
134+ } ) ;
136135 expect ( typeof output . userPointer ) . toEqual ( 'object' ) ;
137136 expect ( output . userPointer ) . toEqual (
138137 { __type : 'Pointer' , className : '_User' , objectId : '123' }
@@ -142,22 +141,28 @@ describe('mongoObjectToParseObject', () => {
142141
143142 it ( 'null pointer' , ( done ) => {
144143 var input = { _p_userPointer : null } ;
145- var output = transform . mongoObjectToParseObject ( dummySchema , null , input ) ;
144+ var output = transform . mongoObjectToParseObject ( null , input , {
145+ fields : { userPointer : { type : 'Pointer' , targetClass : '_User' } } ,
146+ } ) ;
146147 expect ( output . userPointer ) . toBeUndefined ( ) ;
147148 done ( ) ;
148149 } ) ;
149150
150151 it ( 'file' , ( done ) => {
151152 var input = { picture : 'pic.jpg' } ;
152- var output = transform . mongoObjectToParseObject ( dummySchema , null , input ) ;
153+ var output = transform . mongoObjectToParseObject ( null , input , {
154+ fields : { picture : { type : 'File' } } ,
155+ } ) ;
153156 expect ( typeof output . picture ) . toEqual ( 'object' ) ;
154157 expect ( output . picture ) . toEqual ( { __type : 'File' , name : 'pic.jpg' } ) ;
155158 done ( ) ;
156159 } ) ;
157160
158161 it ( 'geopoint' , ( done ) => {
159162 var input = { location : [ 180 , - 180 ] } ;
160- var output = transform . mongoObjectToParseObject ( dummySchema , null , input ) ;
163+ var output = transform . mongoObjectToParseObject ( null , input , {
164+ fields : { location : { type : 'GeoPoint' } } ,
165+ } ) ;
161166 expect ( typeof output . location ) . toEqual ( 'object' ) ;
162167 expect ( output . location ) . toEqual (
163168 { __type : 'GeoPoint' , longitude : 180 , latitude : - 180 }
@@ -167,7 +172,9 @@ describe('mongoObjectToParseObject', () => {
167172
168173 it ( 'nested array' , ( done ) => {
169174 var input = { arr : [ { _testKey : 'testValue' } ] } ;
170- var output = transform . mongoObjectToParseObject ( dummySchema , null , input ) ;
175+ var output = transform . mongoObjectToParseObject ( null , input , {
176+ fields : { arr : { type : 'Array' } } ,
177+ } ) ;
171178 expect ( Array . isArray ( output . arr ) ) . toEqual ( true ) ;
172179 expect ( output . arr ) . toEqual ( [ { _testKey : 'testValue' } ] ) ;
173180 done ( ) ;
@@ -185,7 +192,9 @@ describe('mongoObjectToParseObject', () => {
185192 } ,
186193 regularKey : "some data" ,
187194 } ] }
188- let output = transform . mongoObjectToParseObject ( dummySchema , null , input ) ;
195+ let output = transform . mongoObjectToParseObject ( null , input , {
196+ fields : { array : { type : 'Array' } } ,
197+ } ) ;
189198 expect ( dd ( output , input ) ) . toEqual ( undefined ) ;
190199 done ( ) ;
191200 } ) ;
@@ -224,7 +233,7 @@ describe('transform schema key changes', () => {
224233 "Kevin" : { "write" : true }
225234 }
226235 } ;
227- var output = transform . parseObjectToMongoObjectForCreate ( dummySchema , null , input ) ;
236+ var output = transform . parseObjectToMongoObjectForCreate ( dummySchema , null , input , { fields : { } } ) ;
228237 expect ( typeof output . _rperm ) . toEqual ( 'object' ) ;
229238 expect ( typeof output . _wperm ) . toEqual ( 'object' ) ;
230239 expect ( output . ACL ) . toBeUndefined ( ) ;
@@ -241,7 +250,7 @@ describe('transform schema key changes', () => {
241250 }
242251 } ;
243252
244- var output = transform . parseObjectToMongoObjectForCreate ( dummySchema , null , input ) ;
253+ var output = transform . parseObjectToMongoObjectForCreate ( dummySchema , null , input , { fields : { } } ) ;
245254 expect ( typeof output . _acl ) . toEqual ( 'object' ) ;
246255 expect ( output . _acl [ "Kevin" ] . w ) . toBeTruthy ( ) ;
247256 expect ( output . _acl [ "Kevin" ] . r ) . toBeUndefined ( ) ;
@@ -253,7 +262,7 @@ describe('transform schema key changes', () => {
253262 _rperm : [ "*" ] ,
254263 _wperm : [ "Kevin" ]
255264 } ;
256- var output = transform . mongoObjectToParseObject ( dummySchema , null , input ) ;
265+ var output = transform . mongoObjectToParseObject ( null , input , { fields : { } } ) ;
257266 expect ( typeof output . ACL ) . toEqual ( 'object' ) ;
258267 expect ( output . _rperm ) . toBeUndefined ( ) ;
259268 expect ( output . _wperm ) . toBeUndefined ( ) ;
@@ -267,7 +276,12 @@ describe('transform schema key changes', () => {
267276 long : mongodb . Long . fromNumber ( Number . MAX_SAFE_INTEGER ) ,
268277 double : new mongodb . Double ( Number . MAX_VALUE )
269278 }
270- var output = transform . mongoObjectToParseObject ( dummySchema , null , input ) ;
279+ var output = transform . mongoObjectToParseObject ( null , input , {
280+ fields : {
281+ long : { type : 'Number' } ,
282+ double : { type : 'Number' } ,
283+ } ,
284+ } ) ;
271285 expect ( output . long ) . toBe ( Number . MAX_SAFE_INTEGER ) ;
272286 expect ( output . double ) . toBe ( Number . MAX_VALUE ) ;
273287 done ( ) ;
0 commit comments