import nrfdlModule, { Device, // @ts-ignore nrfdlModule Is not a module } from '../../../../index'; import { validateSchema } from '../common/helpers'; require('../../../../jasmine_shared.js'); describe('[enumerate tests]', () => { let context = 0; jasmine.DEFAULT_TIMEOUT_INTERVAL = 20000; beforeAll(() => { context = nrfdlModule.createContext({ plugins_dir: './Release' }); }); afterAll(() => { nrfdlModule.releaseContext(context); }); it('Test enumerate', async () => { const result = await nrfdlModule.enumerate(context); expect(result.length).toBeGreaterThan(0); await Promise.all( result.map(async (device: Device) => { const schemaValid = await validateSchema('#/definitions/Device', device, true); expect(schemaValid).toBe(true); }) ); }); it('Test enumerate with filter', async () => { const result = await nrfdlModule.enumerate(context, { nordicDfu: true, nordicUsb: true, }); expect(result.length).toBeGreaterThan(0); expect( result.find((device: Device) => !device.traits.nordicDfu && !device.traits.nordicUsb) === undefined ).toBeTrue(); await Promise.all( result.map(async (device: Device) => { const schemaValid = await validateSchema('#/definitions/Device', device); expect(schemaValid).toBe(true); }) ); }); });