PG: Support for nested contains and containedIn (#4109)

This commit is contained in:
Diamond Lewis
2017-08-23 10:33:57 -05:00
committed by Florent Vilmart
parent c2c059f625
commit c6546218f4
2 changed files with 94 additions and 11 deletions

View File

@@ -289,6 +289,40 @@ describe('Parse.Query testing', () => {
}, done.fail);
});
it('nested containedIn string', (done) => {
const sender1 = { group: ['A', 'B'] };
const sender2 = { group: ['A', 'C'] };
const sender3 = { group: ['B', 'C'] };
const obj1 = new TestObject({ sender: sender1 });
const obj2 = new TestObject({ sender: sender2 });
const obj3 = new TestObject({ sender: sender3 });
Parse.Object.saveAll([obj1, obj2, obj3]).then(() => {
const query = new Parse.Query(TestObject);
query.containedIn('sender.group', ['A']);
return query.find();
}).then((results) => {
equal(results.length, 2);
done();
}, done.fail);
});
it('nested containedIn number', (done) => {
const sender1 = { group: [1, 2] };
const sender2 = { group: [1, 3] };
const sender3 = { group: [2, 3] };
const obj1 = new TestObject({ sender: sender1 });
const obj2 = new TestObject({ sender: sender2 });
const obj3 = new TestObject({ sender: sender3 });
Parse.Object.saveAll([obj1, obj2, obj3]).then(() => {
const query = new Parse.Query(TestObject);
query.containedIn('sender.group', [1]);
return query.find();
}).then((results) => {
equal(results.length, 2);
done();
}, done.fail);
});
it("containsAll number array queries", function(done) {
var NumberSet = Parse.Object.extend({ className: "NumberSet" });
@@ -1379,6 +1413,23 @@ describe('Parse.Query testing', () => {
});
});
it('nested contains', (done) => {
const sender1 = { group: ['A', 'B'] };
const sender2 = { group: ['A', 'C'] };
const sender3 = { group: ['B', 'C'] };
const obj1 = new TestObject({ sender: sender1 });
const obj2 = new TestObject({ sender: sender2 });
const obj3 = new TestObject({ sender: sender3 });
Parse.Object.saveAll([obj1, obj2, obj3]).then(() => {
const query = new Parse.Query(TestObject);
query.contains('sender.group', 'A');
return query.find();
}).then((results) => {
equal(results.length, 2);
done();
}, done.fail);
});
it("startsWith", function(done) {
Parse.Object.saveAll([new TestObject({myString: "zax" + someAscii + "qub"}),
new TestObject({myString: "start" + someAscii}),