boats
Version:
Beautiful Open / Async Template System - Write less yaml with BOATS and Nunjucks.
111 lines (110 loc) • 4.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
const srcASYNC2_json_1 = tslib_1.__importDefault(require("../__tests__/buildFilesData/srcASYNC2.json"));
const builtOA2_std_json_1 = tslib_1.__importDefault(require("../__tests__/buildFilesData/builtOA2_std.json"));
const builtOA2_inject_json_1 = tslib_1.__importDefault(require("../__tests__/buildFilesData/builtOA2_inject.json"));
const builtOA2_readonly_json_1 = tslib_1.__importDefault(require("../__tests__/buildFilesData/builtOA2_readonly.json"));
const builtOA2_no_version_json_1 = tslib_1.__importDefault(require("../__tests__/buildFilesData/builtOA2_no_version.json"));
const builtOA3_json_1 = tslib_1.__importDefault(require("../__tests__/buildFilesData/builtOA3.json"));
const builtOA3_exclude_json_1 = tslib_1.__importDefault(require("../__tests__/buildFilesData/builtOA3_exclude.json"));
const upath_1 = tslib_1.__importDefault(require("upath"));
jest.setTimeout(60 * 1000); // in milliseconds
const dumper = (file, input) => {
process.stderr.write('\n\n\n' + file.replace('.yml', '.json') + '\n\n\n');
process.stderr.write('\n\n\n' + JSON.stringify(input) + '\n\n\n');
};
describe('Check to ensure the files are generated with the correct file names:', () => {
it('built srcASYNC2_1.0.1.yml', (done) => {
const file = 'test-build/srcASYNC2/srcASYNC2_1.0.1.yml';
const infile = js_yaml_1.default.load(fs_extra_1.default.readFileSync(file, 'utf8'));
try {
expect(infile).toEqual(srcASYNC2_json_1.default);
done();
}
catch (e) {
dumper(file, infile);
done(e);
}
});
it('built builtOA2_std_1.0.1.yml', (done) => {
const file = 'test-build/builtOA2_std/builtOA2_std_1.0.1.yml';
const infile = js_yaml_1.default.load(fs_extra_1.default.readFileSync(file, 'utf8'));
try {
expect(infile).toEqual(builtOA2_std_json_1.default);
done();
}
catch (e) {
dumper(file, infile);
done(e);
}
});
it('built builtOA2_readonly_1.0.1.yml', (done) => {
const file = 'test-build/builtOA2_readonly/builtOA2_readonly_1.0.1.yml';
const infile = js_yaml_1.default.load(fs_extra_1.default.readFileSync(file, 'utf8'));
try {
expect(infile).toEqual(builtOA2_readonly_json_1.default);
done();
}
catch (e) {
dumper(file, infile);
done(e);
}
});
it('built builtOA2_no_version.yml', (done) => {
const file = 'test-build/builtOA2_no_version/builtOA2_no_version.yml';
const infile = js_yaml_1.default.load(fs_extra_1.default.readFileSync(file, 'utf8'));
try {
expect(infile).toEqual(builtOA2_no_version_json_1.default);
done();
}
catch (e) {
dumper(file, infile);
done(e);
}
});
it('built test-build/builtOA2_inject/api_1.0.1.yml', (done) => {
const file = 'test-build/builtOA2_inject/api_1.0.1.yml';
const infile = js_yaml_1.default.load(fs_extra_1.default.readFileSync(file, 'utf8'));
try {
expect(infile).toEqual(builtOA2_inject_json_1.default);
done();
}
catch (e) {
dumper(file, infile);
done(e);
}
});
it('built builtOA3_1.0.1.yml', (done) => {
const file = 'test-build/builtOA3_std/builtOA3_1.0.1.yml';
const infile = js_yaml_1.default.load(fs_extra_1.default.readFileSync(file, 'utf8'));
try {
expect(infile).toEqual(builtOA3_json_1.default);
done();
}
catch (e) {
dumper(file, infile);
done(e);
}
});
it('built builtOA3.yml', (done) => {
const file = 'test-build/builtOA3_exclude/builtOA3.yml';
const infile = js_yaml_1.default.load(fs_extra_1.default.readFileSync(file, 'utf8'));
try {
expect(infile).toEqual(builtOA3_exclude_json_1.default);
done();
}
catch (e) {
dumper(file, infile);
done(e);
}
});
it('it should have only output 1 file to the builtOA3_std_onefile folder when --one-file-output was present', () => {
const outputFile = 'test-build/builtOA3_std_onefile/builtOA3_1.0.1.yml';
expect(fs_extra_1.default.pathExistsSync(outputFile)).toBe(true);
const files = fs_extra_1.default.readdirSync(upath_1.default.join(process.cwd(), upath_1.default.dirname(outputFile)));
expect(files.length).toBe(1);
});
});