Skip to content

Commit 1443302

Browse files
committed
Add tests for AND queries
1 parent f9b7c25 commit 1443302

2 files changed

Lines changed: 63 additions & 1 deletion

File tree

ClearBlade.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,14 +302,14 @@ if (!window.console) {
302302
}
303303
return true;
304304
};
305+
305306
var makeKVPair = function (key, value) {
306307
var KVPair = {};
307308
KVPair[key] = value;
308309
return KVPair;
309310
};
310311

311312
var addToQuery = function (queryObj, condition, KVPair) {
312-
313313
if (typeof queryObj.query[condition] === 'undefined') {
314314
queryObj.query[condition] = [];
315315
}

test/ClearBladeSpec.js

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,68 @@ describe("ClearBlade Query fetching with anonymous user", function() {
275275
expect(returnedData[0].name).toEqual('aaron');
276276
});
277277
});
278+
279+
it("should allow multiple query parts", function() {
280+
var flag, returnedData, isAaronCreated;
281+
runs(function () {
282+
var query = new ClearBlade.Query();
283+
query.equalTo('name', 'aaron');
284+
col.remove(query,function() {
285+
col.create({
286+
name: "aaron",
287+
age: 25
288+
}, function(err, response) {
289+
expect(err).toEqual(false);
290+
isAaronCreated = true;
291+
});
292+
});
293+
});
294+
295+
waitsFor(function() {
296+
return isAaronCreated;
297+
}, "aaron should be created", TEST_TIMEOUT);
298+
299+
var queryDone, queryDone2;
300+
// Negative case -- should return nothing
301+
runs(function() {
302+
var query = new ClearBlade.Query();
303+
query.equalTo('name', 'aaron').equalTo('age', 30);
304+
query.collection = col.ID;
305+
query.execute('GET', function(error, data) {
306+
expect(error).toBeFalsy();
307+
queryDone = true;
308+
returnedData = data;
309+
});
310+
});
311+
312+
waitsFor(function() {
313+
return queryDone;
314+
}, "Query should be finished", TEST_TIMEOUT);
315+
316+
runs(function() {
317+
expect(returnedData).toEqual([]);
318+
});
319+
320+
// Positive case -- should return an item
321+
runs(function() {
322+
var query = new ClearBlade.Query();
323+
query.equalTo('name', 'aaron').equalTo('age', 25);
324+
query.collection = col.ID;
325+
query.execute('GET', function(error, data) {
326+
expect(error).toBeFalsy();
327+
queryDone2 = true;
328+
returnedData = data;
329+
});
330+
});
331+
332+
waitsFor(function() {
333+
return queryDone2;
334+
}, "Query should be finished", TEST_TIMEOUT);
335+
336+
runs(function() {
337+
expect(returnedData[0].name).toEqual('aaron');
338+
});
339+
});
278340
});
279341

280342
describe("ClearBlade collections fetching", function () {

0 commit comments

Comments
 (0)