@@ -179,20 +179,41 @@ describe('Cloud Code', () => {
179
179
} ) ;
180
180
} ) ;
181
181
182
- it ( 'test beforeSave returns value on create and update when beforeSave returns true' , done => {
183
- Parse . Cloud . beforeSave ( 'BeforeSaveChanged ' , function ( req ) {
184
- req . object . set ( 'foo ' , 'baz ' ) ;
182
+ it ( 'test beforeSave applies changes when beforeSave returns true' , done => {
183
+ Parse . Cloud . beforeSave ( 'Insurance ' , function ( req ) {
184
+ req . object . set ( 'rate ' , '$49.99/Month ' ) ;
185
185
return true ;
186
186
} ) ;
187
187
188
- const obj = new Parse . Object ( 'BeforeSaveChanged' ) ;
189
- obj . set ( 'foo' , 'bing' ) ;
190
- obj . save ( ) . then ( ( ) => {
191
- expect ( obj . get ( 'foo' ) ) . toEqual ( 'baz' ) ;
192
- obj . set ( 'foo' , 'bar' ) ;
193
- return obj . save ( ) . then ( ( ) => {
194
- expect ( obj . get ( 'foo' ) ) . toEqual ( 'baz' ) ;
195
- done ( ) ;
188
+ const insurance = new Parse . Object ( 'Insurance' ) ;
189
+ insurance . set ( 'rate' , '$5.00/Month' ) ;
190
+ insurance . save ( ) . then ( insurance => {
191
+ expect ( insurance . get ( 'rate' ) ) . toEqual ( '$49.99/Month' ) ;
192
+ done ( ) ;
193
+ } ) ;
194
+ } ) ;
195
+
196
+ it ( 'test beforeSave applies changes and resolves returned promise' , done => {
197
+ Parse . Cloud . beforeSave ( 'Insurance' , function ( req ) {
198
+ req . object . set ( 'rate' , '$49.99/Month' ) ;
199
+ return new Parse . Query ( 'Pet' ) . get ( req . object . get ( 'pet' ) . id ) . then ( pet => {
200
+ pet . set ( 'healthy' , true ) ;
201
+ return pet . save ( ) ;
202
+ } ) ;
203
+ } ) ;
204
+
205
+ const pet = new Parse . Object ( 'Pet' ) ;
206
+ pet . set ( 'healthy' , false ) ;
207
+ pet . save ( ) . then ( pet => {
208
+ const insurance = new Parse . Object ( 'Insurance' ) ;
209
+ insurance . set ( 'pet' , pet ) ;
210
+ insurance . set ( 'rate' , '$5.00/Month' ) ;
211
+ insurance . save ( ) . then ( insurance => {
212
+ expect ( insurance . get ( 'rate' ) ) . toEqual ( '$49.99/Month' ) ;
213
+ new Parse . Query ( 'Pet' ) . get ( insurance . get ( 'pet' ) . id ) . then ( pet => {
214
+ expect ( pet . get ( 'healthy' ) ) . toEqual ( true ) ;
215
+ done ( ) ;
216
+ } ) ;
196
217
} ) ;
197
218
} ) ;
198
219
} ) ;
0 commit comments