UNPKG

boats

Version:

Beautiful Open / Async Template System - Write less yaml with BOATS and Nunjucks.

111 lines (110 loc) 4.82 kB
"use strict"; 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); }); });