Skip to content

Commit

Permalink
fix: Live query throws error when constraint notEqualTo is set to `…
Browse files Browse the repository at this point in the history
…null` (#8835)
  • Loading branch information
RahulLanjewar93 committed Jun 11, 2024
1 parent 716925e commit 11d3e48
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 1 deletion.
29 changes: 29 additions & 0 deletions spec/ParseLiveQuery.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -1269,4 +1269,33 @@ describe('ParseLiveQuery', function () {
expect(object2.id).toBeDefined();
expect(object3.id).toBeDefined();
});

it('triggers query event with constraint not equal to null', async () => {
await reconfigureServer({
liveQuery: {
classNames: ['TestObject'],
},
startLiveQueryServer: true,
verbose: false,
silent: true,
});

const spy = {
create(obj) {
expect(obj.attributes.foo).toEqual('bar');
},
};
const createSpy = spyOn(spy, 'create');
const query = new Parse.Query(TestObject);
query.notEqualTo('foo', null);
const subscription = await query.subscribe();
subscription.on('create', spy.create);

const object1 = new TestObject();
object1.set('foo', 'bar');
await object1.save();

await new Promise(resolve => setTimeout(resolve, 100));
expect(createSpy).toHaveBeenCalledTimes(1);
});
});
2 changes: 1 addition & 1 deletion src/LiveQuery/QueryTools.js
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ function matchesKeyConstraints(object, key, constraints) {
// More complex cases
for (var condition in constraints) {
compareTo = constraints[condition];
if (compareTo.__type) {
if (compareTo?.__type) {
compareTo = Parse._decode(key, compareTo);
}
switch (condition) {
Expand Down

0 comments on commit 11d3e48

Please sign in to comment.