import * as path from 'path' const Mocha = require('mocha') const { glob } = require('glob') export function run(): Promise { // Create the mocha test const mocha = new Mocha({ ui: 'tdd', }) const testsRoot = path.resolve(__dirname, '..') return new Promise((c, e) => { glob('**/**.test.js', { cwd: testsRoot }).then((files: string[]) => { // Add files to the test suite files.forEach((f) => mocha.addFile(path.resolve(testsRoot, f))) try { // Run the mocha test mocha.run((failures: any) => { if (failures > 0) { e(new Error(`${failures} tests failed.`)) } else { c() } }) } catch (err) { console.error(err) e(err) } }) }) }