fix: set objects in afterFind triggers (#7311)
This commit is contained in:
@@ -358,6 +358,44 @@ describe('ParseLiveQuery', function () {
|
||||
await object.save();
|
||||
});
|
||||
|
||||
it('can handle afterEvent set pointers', async done => {
|
||||
await reconfigureServer({
|
||||
liveQuery: {
|
||||
classNames: ['TestObject'],
|
||||
},
|
||||
startLiveQueryServer: true,
|
||||
verbose: false,
|
||||
silent: true,
|
||||
});
|
||||
|
||||
const object = new TestObject();
|
||||
await object.save();
|
||||
|
||||
const secondObject = new Parse.Object('Test2');
|
||||
secondObject.set('foo', 'bar');
|
||||
await secondObject.save();
|
||||
|
||||
Parse.Cloud.afterLiveQueryEvent('TestObject', async ({ object }) => {
|
||||
const query = new Parse.Query('Test2');
|
||||
const obj = await query.first();
|
||||
object.set('obj', obj);
|
||||
});
|
||||
|
||||
const query = new Parse.Query(TestObject);
|
||||
query.equalTo('objectId', object.id);
|
||||
const subscription = await query.subscribe();
|
||||
subscription.on('update', object => {
|
||||
expect(object.get('obj')).toBeDefined();
|
||||
expect(object.get('obj').get('foo')).toBe('bar');
|
||||
done();
|
||||
});
|
||||
subscription.on('error', () => {
|
||||
fail('error should not have been called.');
|
||||
});
|
||||
object.set({ foo: 'bar' });
|
||||
await object.save();
|
||||
});
|
||||
|
||||
it('can handle async afterEvent modification', async done => {
|
||||
await reconfigureServer({
|
||||
liveQuery: {
|
||||
|
||||
Reference in New Issue
Block a user