cosmos-db-repositories
Version:
cosmos-db repositories
63 lines (62 loc) • 2.89 kB
JavaScript
;
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') });
});
});