@joktec/mongo
Version:
JokTec - Mongo Service
35 lines • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const globals_1 = require("@jest/globals");
const helpers_1 = require("../helpers");
(0, globals_1.describe)('MongoPipeline class', () => {
(0, globals_1.describe)('projection function', () => {
(0, globals_1.it)('should return a mongo projection to includes some fields', () => {
const select = 'name,age,address.city';
const result = helpers_1.MongoPipeline.projection(select);
(0, globals_1.expect)(result).toEqual({ name: 1, age: 1, 'address.city': 1 });
});
(0, globals_1.it)('should return a mongo projection to includes and excludes some fields', () => {
const select = 'name,-age,address.city';
const result = helpers_1.MongoPipeline.projection(select);
(0, globals_1.expect)(result).toEqual({ name: 1, age: 0, 'address.city': 1 });
});
(0, globals_1.it)('should return an empty object if select is empty', () => {
const select = '';
const result = helpers_1.MongoPipeline.projection(select);
(0, globals_1.expect)(result).toEqual({});
});
});
(0, globals_1.describe)('sort function', () => {
(0, globals_1.it)('should return a mongo sorter structure', () => {
const sort = { name: 'asc', createdAt: 'desc' };
const result = helpers_1.MongoPipeline.sort(sort);
(0, globals_1.expect)(result).toEqual({ name: 1, createdAt: -1 });
});
(0, globals_1.it)('should return an empty object if select is empty', () => {
const result = helpers_1.MongoPipeline.sort({});
(0, globals_1.expect)(result).toEqual({});
});
});
});
//# sourceMappingURL=mongo.pipeline.spec.js.map