Adds context object in Cloud Code hooks (#4939)
* wip * Refactors triggers a bit - Adds testing for hooks and context * comment nit * nits
This commit is contained in:
@@ -1809,4 +1809,46 @@ describe('afterFind hooks', () => {
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should expose context in before and afterSave', async () => {
|
||||
let calledBefore = false;
|
||||
let calledAfter = false;
|
||||
Parse.Cloud.beforeSave('MyClass', (req) => {
|
||||
req.context = {
|
||||
key: 'value',
|
||||
otherKey: 1,
|
||||
}
|
||||
calledBefore = true;
|
||||
});
|
||||
Parse.Cloud.afterSave('MyClass', (req) => {
|
||||
expect(req.context.otherKey).toBe(1);
|
||||
expect(req.context.key).toBe('value');
|
||||
calledAfter = true;
|
||||
});
|
||||
|
||||
const object = new Parse.Object('MyClass');
|
||||
await object.save();
|
||||
expect(calledBefore).toBe(true);
|
||||
expect(calledAfter).toBe(true);
|
||||
});
|
||||
|
||||
it('should expose context in before and afterSave and let keys be set individually', async () => {
|
||||
let calledBefore = false;
|
||||
let calledAfter = false;
|
||||
Parse.Cloud.beforeSave('MyClass', (req) => {
|
||||
req.context.some = 'value';
|
||||
req.context.yolo = 1;
|
||||
calledBefore = true;
|
||||
});
|
||||
Parse.Cloud.afterSave('MyClass', (req) => {
|
||||
expect(req.context.yolo).toBe(1);
|
||||
expect(req.context.some).toBe('value');
|
||||
calledAfter = true;
|
||||
});
|
||||
|
||||
const object = new Parse.Object('MyClass');
|
||||
await object.save();
|
||||
expect(calledBefore).toBe(true);
|
||||
expect(calledAfter).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user