adr
Version:
轻量级架构记录工具 - Command-line tools for working with Architecture Decision Records
101 lines (95 loc) • 7.53 kB
JavaScript
import test from 'ava';
let sinon = require('sinon');
let walkSync = require('walk-sync');
let fs = require('fs');
import ADR from '../index';
let MdHelper = ADR.MdHelper;
let Utils = ADR.Utils;
let Config = ADR.Config;
let adrTemplate = `# 1. 编写完整的单元测试
日期: 2017/11/22
## 状态
2017-11-22 提议
2017-11-26 已完成
`;
test('ADR: export html', t => {
let renderHtml = `<html>`;
let ADRGetSavePathSpy = sinon.stub(Config, 'getSavePath').returns('./');
let dirSpy = sinon.stub(Utils, 'getWorkDir').returns('.');
let mdHelperSpy = sinon.stub(MdHelper, 'mdRender').returns(renderHtml);
// let consoleSpy = sinon.stub(console, 'log')
let fsReadSpy = sinon.stub(fs, 'readFileSync')
.onCall(0).returns(adrTemplate)
.onCall(1).returns(adrTemplate)
.onCall(2).returns('');
let entriesSpy = sinon.stub(walkSync, 'entries').returns([
{
relativePath: '001-编写完整的单元测试.md',
basePath: '/Users/fdhuang/learing/adr/docs/adr/',
mode: 33188,
size: 246,
mtime: 1511435254653
},
{
relativePath: 'README.md',
basePath: '/Users/fdhuang/learing/adr/docs/adr/',
mode: 33188,
size: 246,
mtime: 1511435254653
}
]);
let htmlBuilder = new ADR.HtmlBuilder('', '');
let output = htmlBuilder.buildContent();
t.deepEqual(renderHtml, output);
ADRGetSavePathSpy.restore();
fsReadSpy.restore();
entriesSpy.restore();
mdHelperSpy.restore();
dirSpy.restore();
// consoleSpy.restore()
});
let asciidocTemplate = `= 1. 编写完整的单元测试
日期: 2017/11/22
== 状态
2017-11-22 提议
2017-11-26 已完成
`;
test('ADR: export html from asciidoc', t => {
let renderHtml = `<html>`;
let ADRGetSavePathSpy = sinon.stub(Config, 'getSavePath').returns('./');
let ADRGetDocExtensionSpy = sinon.stub(Config, 'getDocExtension').returns('adoc');
let dirSpy = sinon.stub(Utils, 'getWorkDir').returns('.');
let mdHelperSpy = sinon.stub(MdHelper, 'mdRender').returns(renderHtml);
// let consoleSpy = sinon.stub(console, 'log')
let fsReadSpy = sinon.stub(fs, 'readFileSync')
.onCall(0).returns(asciidocTemplate)
.onCall(1).returns(asciidocTemplate)
.onCall(2).returns('');
let entriesSpy = sinon.stub(walkSync, 'entries').returns([
{
relativePath: '001-编写完整的单元测试.asciidoc',
basePath: '/Users/fdhuang/learing/adr/docs/adr/',
mode: 33188,
size: 246,
mtime: 1511435254653
},
{
relativePath: 'README.adciidoc',
basePath: '/Users/fdhuang/learing/adr/docs/adr/',
mode: 33188,
size: 246,
mtime: 1511435254653
}
]);
let htmlBuilder = new ADR.HtmlBuilder('', '');
let output = htmlBuilder.buildContent();
t.deepEqual(renderHtml, output);
ADRGetSavePathSpy.restore();
fsReadSpy.restore();
entriesSpy.restore();
mdHelperSpy.restore();
dirSpy.restore();
// consoleSpy.restore()
ADRGetDocExtensionSpy.restore();
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHRtbEJ1aWxkZXIuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0cy9IdG1sQnVpbGRlci5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLEtBQUssQ0FBQTtBQUV0QixJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDNUIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQ25DLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUN0QixPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUE7QUFFMUIsSUFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQTtBQUMzQixJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFBO0FBQ3JCLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7QUFFdkIsSUFBSSxXQUFXLEdBQUc7Ozs7Ozs7O0NBUWpCLENBQUE7QUFFRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDM0IsSUFBSSxVQUFVLEdBQUcsUUFBUSxDQUFBO0lBRXpCLElBQUksaUJBQWlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3ZFLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN6RCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDdEUsOENBQThDO0lBQzlDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFB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