Files
minecraft-bedrock-json-schemas/test/src/files/correct.test.ts

50 lines
1.4 KiB
TypeScript
Raw Normal View History

2021-08-18 20:15:02 +02:00
import { expect } from "chai";
import { Schema } from "../SchemaTester";
import { Files } from "../Utillity";
describe("test correct files", () => {
2021-08-18 20:48:09 +02:00
const folder = Files.CorrectFilesFolder().replace(/\\/gi, "/");
2021-08-18 20:15:02 +02:00
const files = Files.GetFiles(folder);
const validator = Schema.GetValidator();
2021-08-18 20:48:09 +02:00
expect(files.length, "No files were returned").to.greaterThan(0);
2021-08-18 20:15:02 +02:00
files.forEach((file) => {
if (file.endsWith(".json")) {
2021-08-18 20:48:09 +02:00
const testfolder = file.replace(folder + "/", "");
2021-08-18 20:15:02 +02:00
2021-10-04 12:04:05 +02:00
describe(testfolder, () => {
const result = validator.ValidateFile(file);
const schemas = validator.ls.getMatchingSchemas(result.doc, result.jdoc);
it("validation", () => {
2021-10-04 12:08:55 +02:00
result.promise.then(
2021-10-04 12:04:05 +02:00
(succes) => {
2021-10-04 12:08:55 +02:00
expect(succes.length, "Expected no errors got: " + succes.length).to.equal(0);
succes.forEach((item) => console.log(item.message));
2021-10-04 12:04:05 +02:00
},
(fail) => {
expect.fail("Failed to validate");
}
);
2021-10-04 12:08:55 +02:00
return result.promise;
2021-10-04 12:04:05 +02:00
});
it("schemas", () => {
return schemas.then(
(success) => {
expect(success.length, "Expected schemas to be returned").to.greaterThan(0);
},
(fail) => {
expect.fail("failed on retrieving schemas");
}
);
});
2021-08-18 20:48:09 +02:00
2021-08-18 20:52:07 +02:00
return Promise.all([result.promise, schemas]);
2021-08-18 20:15:02 +02:00
});
}
});
});