mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-22 01:22:54 +00:00
feat: tests
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user