stagify
Version:
mongoose aggregate pipeline parser
107 lines (106 loc) • 3.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var querify_1 = require("../querify");
describe('utils/querify', function () {
// string and number filter
it('should return { name:"sambath, age: 18 } when "name=sambath&age=18" passed as parameter', function () {
// arrage
var input = 'name=sambath&age=18';
var expectedResult = {
filters: { name: { $eq: 'sambath' }, age: { $eq: 18 } },
select: {},
options: { skip: 0, limit: '25', sort: {} },
};
// act
var output = (0, querify_1.default)(input);
// assert
expect(output).toEqual(expectedResult);
});
// pagination
it('should return correct skip=0&limit=10 when pass "page=1&limit=10" as parameter', function () {
// arrage
var input = 'page=1&limit=10';
var expected = {
filters: {},
select: {},
options: {
skip: 0,
limit: '10',
sort: {},
},
};
// act
var output = (0, querify_1.default)(input);
// assert
expect(output).toEqual(expected);
});
// pagination
it('should return correct skip=25 when pass "page=2" as parameter', function () {
// arrage
var input = 'page=2';
var expected = {
filters: {},
select: {},
options: {
skip: 25,
limit: '25',
sort: {},
},
};
// act
var output = (0, querify_1.default)(input);
// assert
expect(output).toEqual(expected);
});
// pagination
it('should return correct skip=25 when pass "page=2" as parameter', function () {
// arrage
var input = 'page=2';
var expected = {
filters: {},
select: {},
options: {
skip: 25,
limit: '25',
sort: {},
},
};
// act
var output = (0, querify_1.default)(input);
// assert
expect(output).toEqual(expected);
});
// select
it('should return correct select when pass "select[name]=1"', function () {
var input = 'select[name]=1';
var expected = {
filters: {},
select: {
name: 1,
},
options: {
skip: 0,
limit: '25',
sort: {},
},
};
// act
var output = (0, querify_1.default)(input);
// assert
expect(output).toEqual(expected);
});
it('should return correct sort when pass "sort[age]=-1', function () {
var input = 'sort[age]=-1';
var expected = {
filters: {},
select: {},
options: {
skip: 0,
limit: '25',
sort: { age: '-1' },
},
};
var output = (0, querify_1.default)(input);
expect(output).toEqual(expected);
});
});