UNPKG

ashish-sdk

Version:
62 lines 2.27 kB
/** * @jest-environment node */ import { getQueryParamString, getFilterQuery, getCssDimension, getEncodedQueryParamsString, appendToUrlHash, } from './utils'; import { RuntimeFilterOp } from './types'; describe('unit test for utils', () => { test('getQueryParamString', () => { expect(getQueryParamString({ foo: 'bar', baz: '42', })).toBe('foo=bar&baz=42'); expect(getQueryParamString({})).toBe(null); // should not add undefined params expect(getQueryParamString({ foo: undefined, bar: 'baz', })).toBe('bar=baz'); }); test('getFilterQuery', () => { expect(getFilterQuery([])).toBe(null); expect(getFilterQuery([ { columnName: 'foo', operator: RuntimeFilterOp.NE, values: ['bar'], }, ])).toBe('col1=foo&op1=NE&val1=bar'); const filters = [ { columnName: 'foo', operator: RuntimeFilterOp.EQ, values: [42], }, { columnName: 'bar', operator: RuntimeFilterOp.BW_INC, values: [1, 10], }, { columnName: 'baz', operator: RuntimeFilterOp.CONTAINS, values: ['abc'], }, ]; expect(getFilterQuery(filters)).toBe('col1=foo&op1=EQ&val1=42&col2=bar&op2=BW_INC&val2=1&val2=10&col3=baz&op3=CONTAINS&val3=abc'); }); test('getCssDimension', () => { expect(getCssDimension(100)).toBe('100px'); expect(getCssDimension('100%')).toBe('100%'); expect(getCssDimension('100px')).toBe('100px'); expect(getCssDimension(null)).toBe(null); }); test('appendToUrlHash', () => { expect(appendToUrlHash('http://myhost:3000', 'hashFrag')).toBe('http://myhost:3000#hashFrag'); expect(appendToUrlHash('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#foobar'); }); test('getEncodedQueryParamsString', () => { expect(getEncodedQueryParamsString('')).toBe(''); expect(getEncodedQueryParamsString('test')).toBe('dGVzdA'); }); }); //# sourceMappingURL=utils.spec.js.map