feat: tests

This commit is contained in:
2023-04-21 12:08:35 +02:00
parent 8cb9285462
commit d8c79256c9
140 changed files with 2100 additions and 2693 deletions

View File

@@ -1,29 +1,22 @@
import {validateFiles, writeReport} from '@openstapps/core-tools/lib/validate';
import {slow, suite, test, timeout} from '@testdeck/mocha';
import {validateFiles, writeReport} from '@openstapps/core-tools';
import {expect} from 'chai';
import {mkdirSync} from 'fs';
import {join, resolve} from 'path';
import {mkdir} from 'fs/promises';
import path 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'))),
};
describe('Schema', function () {
this.timeout(15_000);
this.slow(10_000);
let unexpected = false;
Object.keys(errorsPerFile).forEach(file => {
unexpected = unexpected || errorsPerFile[file].some(error => !error.expected);
});
it('should validate against test files', async function () {
const errorsPerFile = await validateFiles(path.resolve('lib', 'schema'), path.resolve('test', 'resources'));
mkdirSync('report', {
recursive: true,
});
await mkdir('report', {recursive: true});
await writeReport(path.join('report', 'index.html'), errorsPerFile);
await writeReport(join('report', 'index.html'), errorsPerFile);
expect(unexpected).to.be.equal(false);
}
}
for (const file of Object.keys(errorsPerFile)) {
for (const error of errorsPerFile[file]) {
expect(error.expected).to.be.true;
}
}
});
});