import {validateFiles, writeReport} from '@openstapps/core-tools/lib/validate'; import {slow, suite, test, timeout} from '@testdeck/mocha'; import {expect} from 'chai'; import {mkdirSync} from 'fs'; import {join, resolve} from 'path'; @suite(timeout(15000), slow(10000)) export class SchemaSpec { @test async 'validate against test files'() { const errorsPerFile = { ...(await validateFiles(resolve('lib', 'schema'), resolve('test', 'resources'))), ...(await validateFiles(resolve('lib', 'schema'), resolve('test', 'resources', 'indexable'))), }; let unexpected = false; Object.keys(errorsPerFile).forEach(file => { unexpected = unexpected || errorsPerFile[file].some(error => !error.expected); }); mkdirSync('report', { recursive: true, }); await writeReport(join('report', 'index.html'), errorsPerFile); expect(unexpected).to.be.equal(false); } }