cdk-docs.test.js
1 "use strict"; 2 Object.defineProperty(exports, "__esModule", { value: true }); 3 const mockery = require("mockery"); 4 const argv = { 5 browser: 'echo %u', 6 commandHandler: undefined, 7 }; 8 describe('`cdk docs`', () => { 9 beforeEach(done => { 10 mockery.registerMock('../../lib/logging', { 11 debug() { return; }, 12 error() { return; }, 13 print() { return; }, 14 warning() { return; }, 15 }); 16 mockery.enable({ useCleanCache: true, warnOnReplace: true, warnOnUnregistered: false }); 17 done(); 18 }); 19 afterAll(done => { 20 mockery.disable(); 21 mockery.deregisterAll(); 22 done(); 23 }); 24 test('exits with 0 when everything is OK', async () => { 25 // eslint-disable-next-line @typescript-eslint/no-require-imports 26 require('../lib/commands/docs').handler(argv); 27 const result = await argv.commandHandler({ args: argv }); 28 expect(result).toBe(0); 29 }); 30 test('exits with 0 when opening the browser fails', async () => { 31 mockery.registerMock('child_process', { 32 exec(_, cb) { 33 cb(new Error('TEST')); 34 }, 35 }); 36 // eslint-disable-next-line @typescript-eslint/no-require-imports 37 require('../lib/commands/docs').handler(argv); 38 const result = await argv.commandHandler({ args: argv }); 39 expect(result).toBe(0); 40 }); 41 }); 42 //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRvY3MudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1kb2NzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBbUM7QUFHbkMsTUFBTSxJQUFJLEdBQUc7SUFDWCxPQUFPLEVBQUUsU0FBUztJQUNsQixjQUFjLEVBQUUsU0FBeUM7Q0FDMUQsQ0FBQztBQUVGLFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzFCLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNoQixPQUFPLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFO1lBQ3hDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQztZQUNuQixLQUFLLEtBQUssT0FBTyxDQUFDLENBQUM7WUFDbkIsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDO1lBQ25CLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQztTQUN0QixDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDeEYsSUFBSSxFQUFFLENBQUM7SUFDVCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNkLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEIsSUFBSSxFQUFFLENBQUM7SUFDVCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNwRCxpRUFBaUU7UUFDakUsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQVMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDN0QsT0FBTyxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUU7WUFDcEMsSUFBSSxDQUFDLENBQVMsRUFBRSxFQUEwRDtnQkFDeEUsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEIsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNILGlFQUFpRTtRQUNqRSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBUyxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbW9ja2VyeSBmcm9tICdtb2NrZXJ5JztcbmltcG9ydCB7IENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi4vbGliL2NvbW1hbmQtYXBpJztcblxuY29uc3QgYXJndiA9IHtcbiAgYnJvd3NlcjogJ2VjaG8gJXUnLFxuICBjb21tYW5kSGFuZGxlcjogdW5kZWZpbmVkIGFzIChDb21tYW5kSGFuZGxlciB8IHVuZGVmaW5lZCksXG59O1xuXG5kZXNjcmliZSgnYGNkayBkb2NzYCcsICgpID0+IHtcbiAgYmVmb3JlRWFjaChkb25lID0+IHtcbiAgICBtb2NrZXJ5LnJlZ2lzdGVyTW9jaygnLi4vLi4vbGliL2xvZ2dpbmcnLCB7XG4gICAgICBkZWJ1ZygpIHsgcmV0dXJuOyB9LFxuICAgICAgZXJyb3IoKSB7IHJldHVybjsgfSxcbiAgICAgIHByaW50KCkgeyByZXR1cm47IH0sXG4gICAgICB3YXJuaW5nKCkgeyByZXR1cm47IH0sXG4gICAgfSk7XG4gICAgbW9ja2VyeS5lbmFibGUoeyB1c2VDbGVhbkNhY2hlOiB0cnVlLCB3YXJuT25SZXBsYWNlOiB0cnVlLCB3YXJuT25VbnJlZ2lzdGVyZWQ6IGZhbHNlIH0pO1xuICAgIGRvbmUoKTtcbiAgfSk7XG5cbiAgYWZ0ZXJBbGwoZG9uZSA9PiB7XG4gICAgbW9ja2VyeS5kaXNhYmxlKCk7XG4gICAgbW9ja2VyeS5kZXJlZ2lzdGVyQWxsKCk7XG4gICAgZG9uZSgpO1xuICB9KTtcblxuICB0ZXN0KCdleGl0cyB3aXRoIDAgd2hlbiBldmVyeXRoaW5nIGlzIE9LJywgYXN5bmMgKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgcmVxdWlyZSgnLi4vbGliL2NvbW1hbmRzL2RvY3MnKS5oYW5kbGVyKGFyZ3YpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGFyZ3YuY29tbWFuZEhhbmRsZXIhKHsgYXJnczogYXJndiB9IGFzIGFueSk7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9CZSgwKTtcbiAgfSk7XG5cbiAgdGVzdCgnZXhpdHMgd2l0aCAwIHdoZW4gb3BlbmluZyB0aGUgYnJvd3NlciBmYWlscycsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrZXJ5LnJlZ2lzdGVyTW9jaygnY2hpbGRfcHJvY2VzcycsIHtcbiAgICAgIGV4ZWMoXzogc3RyaW5nLCBjYjogKGVycjogRXJyb3IsIHN0ZG91dD86IHN0cmluZywgc3RkZXJyPzogc3RyaW5nKSA9PiB2b2lkKSB7XG4gICAgICAgIGNiKG5ldyBFcnJvcignVEVTVCcpKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICByZXF1aXJlKCcuLi9saWIvY29tbWFuZHMvZG9jcycpLmhhbmRsZXIoYXJndik7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYXJndi5jb21tYW5kSGFuZGxlciEoeyBhcmdzOiBhcmd2IH0gYXMgYW55KTtcbiAgICBleHBlY3QocmVzdWx0KS50b0JlKDApO1xuICB9KTtcbn0pO1xuIl19