import { ConfigNodeArgs } from '../../src/service'; import { isConfigNodeArgs } from '../../src/service/lib'; describe(`lib`, () => { it('should guess whether arg is config node type', async () => { const arg1: ConfigNodeArgs = { inheritedNodes: [] } const arg2: ConfigNodeArgs = { initialValue: 1 } const arg3: ConfigNodeArgs = { options: {} } const arg4: ConfigNodeArgs = { propertyNodeFactories: [] } expect(isConfigNodeArgs(arg1)).toBeTruthy(); expect(isConfigNodeArgs(arg2)).toBeTruthy(); expect(isConfigNodeArgs(arg3)).toBeTruthy(); expect(isConfigNodeArgs(arg4)).toBeTruthy(); const arg5 = []; const arg6 = { blah: 1, } const arg7 = 1; expect(isConfigNodeArgs(arg5)).toBeFalsy(); expect(isConfigNodeArgs(arg6)).toBeFalsy(); expect(isConfigNodeArgs(arg7)).toBeFalsy(); const arg8 = { path: 'mypath' }; const arg9 = { initialValue: 'mypath' }; const arg10 = { path: 'mypath' }; expect(isConfigNodeArgs(arg8, 'path')).toBeTruthy() expect(isConfigNodeArgs(arg8, ['path'])).toBeTruthy() expect(isConfigNodeArgs(arg9, ['path'])).toBeTruthy() expect(isConfigNodeArgs(arg10)).toBeFalsy(); }); });