UNPKG

@tdb/util

Version:
83 lines (74 loc) 2.2 kB
import { expect } from 'chai'; import { value } from '.'; const { defaultValue } = value; describe('defaultValue', () => { it('does not change the given value', () => { expect(defaultValue(1)).to.eql(1); expect(defaultValue(1, 2)).to.eql(1); expect(defaultValue(0, 2)).to.eql(0); expect(defaultValue(undefined)).to.eql(undefined); expect(defaultValue('foo', 'bar')).to.eql('foo'); expect(defaultValue('', 'bar')).to.eql(''); expect(defaultValue<boolean>(true, false)).to.eql(true); expect(defaultValue<boolean>(false, true)).to.eql(false); }); it('uses the given default value', () => { expect(defaultValue(undefined, 1)).to.eql(1); expect(defaultValue<string>(undefined, 'bar')).to.eql('bar'); expect(defaultValue<string>('' || undefined, 'bar')).to.eql('bar'); expect(defaultValue<{ foo: number }>(undefined, { foo: 123 })).to.eql({ foo: 123, }); expect(defaultValue<boolean>(undefined, false)).to.eql(false); expect(defaultValue<boolean>(undefined, true)).to.eql(true); }); }); describe('deleteUndefined', () => { it('retains existing values, removes undefined', () => { const res = value.deleteUndefined({ nothing: undefined, yes: true, no: false, zero: 0, value: null, text: '', }); expect(res).to.eql({ yes: true, no: false, zero: 0, value: null, text: '', }); }); }); describe('deleteEmpty', () => { it('deletes empty/undefined values', () => { const res = value.deleteEmpty({ nothing: undefined, yes: true, no: false, zero: 0, value: null, text: '', }); expect(res).to.eql({ yes: true, no: false, zero: 0, value: null, }); }); }); describe('isStatusOk', () => { it('is ok', async () => { expect(value.isStatusOk(200)).to.eql(true); expect(value.isStatusOk(201)).to.eql(true); }); it('is not ok', async () => { expect(value.isStatusOk(404)).to.eql(false); expect(value.isStatusOk(500)).to.eql(false); expect(value.isStatusOk(0)).to.eql(false); expect(value.isStatusOk(undefined as any)).to.eql(false); }); });