UNPKG

@joktec/mongo

Version:

JokTec - Mongo Service

35 lines 1.81 kB
"use strict"; 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