UNPKG

cosmos-db-repositories

Version:
63 lines (62 loc) 2.89 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const query_parser_1 = __importDefault(require("./query-parser")); describe('Query Parser', () => { it('Parse null properties', () => { const properties = null; const answer = query_parser_1.default.parseProperties(properties); expect(answer).toBeDefined(); expect(Object.keys(answer).length).toEqual(0); expect(Object.values(answer).length).toEqual(0); }); it('Parse undefined undefined', () => { const properties = undefined; const answer = query_parser_1.default.parseProperties(properties); expect(answer).toBeDefined(); expect(Object.keys(answer).length).toEqual(0); expect(Object.values(answer).length).toEqual(0); }); it('Parse empty properties', () => { const properties = []; const answer = query_parser_1.default.parseProperties(properties); expect(answer).toBeDefined(); expect(Object.keys(answer).length).toEqual(0); expect(Object.values(answer).length).toEqual(0); }); it('Parse properties without value', () => { const properties = ['foo']; const answer = query_parser_1.default.parseProperties(properties); expect(answer).toBeDefined(); expect(Object.keys(answer)).toEqual(['foo']); expect(Object.values(answer)).toEqual([undefined]); }); it('Parse properties', () => { const properties = ['foo:bar']; const answer = query_parser_1.default.parseProperties(properties); expect(answer).toBeDefined(); expect(Object.keys(answer)).toEqual(['foo']); expect(Object.values(answer)).toEqual(['bar']); }); it('Parse or properties', () => { const properties = ['foo|zoo:bar']; const answer = query_parser_1.default.parseProperties(properties); expect(answer).toBeDefined(); expect(Object.keys(answer)).toEqual(['foo|zoo']); expect(Object.values(answer)).toEqual(['bar']); }); it('Parse typed properties', () => { const properties = ['married:true', 'age:33', 'name:Julius', 'dob:2025-05-07']; const answer = query_parser_1.default.parseProperties(properties); expect(answer).toBeDefined(); expect(answer).toEqual({ age: 33, married: true, name: 'Julius', dob: new Date('2025-05-07') }); }); it('Parse csv properties', () => { const properties = ['married:true,age:33,name:Julius,dob:2025-05-07']; const answer = query_parser_1.default.parseProperties(properties); expect(answer).toBeDefined(); expect(answer).toEqual({ age: 33, married: true, name: 'Julius', dob: new Date('2025-05-07') }); }); });