mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 02:35:49 +00:00
refactor(markdown) es2018-ify
This commit is contained in:
parent
b8e354b56c
commit
f38d6221c6
5 changed files with 153 additions and 167 deletions
|
|
@ -1 +0,0 @@
|
|||
<h1>hello</h1>
|
||||
|
|
@ -1 +0,0 @@
|
|||
# hello
|
||||
|
|
@ -1,133 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const test = require('tape');
|
||||
const {promisify} = require('es6-promisify');
|
||||
const pullout = require('pullout');
|
||||
const request = require('request');
|
||||
|
||||
const markdown = require('../../server/markdown');
|
||||
|
||||
const before = require('../before');
|
||||
|
||||
const warp = (fn, ...a) => (...b) => fn(...b, ...a);
|
||||
const _pullout = promisify(pullout);
|
||||
const _markdown = promisify(markdown);
|
||||
|
||||
const get = promisify((url, fn) => {
|
||||
fn(null, request(url));
|
||||
});
|
||||
|
||||
test('cloudcmd: markdown: error', (t) => {
|
||||
before((port, after) => {
|
||||
get(`http://localhost:${port}/api/v1/markdown/not-found`)
|
||||
.then(warp(_pullout, 'string'))
|
||||
.then((result) => {
|
||||
t.ok(/ENOENT/.test(result), 'should not found');
|
||||
t.end();
|
||||
after();
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test('cloudcmd: markdown: relative: error', (t) => {
|
||||
before((port, after) => {
|
||||
get(`http://localhost:${port}/api/v1/markdown/not-found?relative`)
|
||||
.then(warp(_pullout, 'string'))
|
||||
.then((result) => {
|
||||
t.ok(/ENOENT/.test(result), 'should not found');
|
||||
t.end();
|
||||
after();
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test('cloudcmd: markdown: relative', (t) => {
|
||||
before((port, after) => {
|
||||
get(`http://localhost:${port}/api/v1/markdown/HELP.md?relative`)
|
||||
.then(warp(_pullout, 'string'))
|
||||
.then((result) => {
|
||||
t.notOk(/ENOENT/.test(result), 'should not return error');
|
||||
t.end();
|
||||
after();
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test('cloudcmd: markdown: put', (t) => {
|
||||
const dir = path.join(__dirname, 'fixture');
|
||||
const md = path.join(dir, 'markdown.md');
|
||||
const html = path.join(dir, 'markdown.html');
|
||||
|
||||
const mdStream = fs.createReadStream(md);
|
||||
const htmlFile = fs.readFileSync(html, 'utf8');
|
||||
|
||||
before((port, after) => {
|
||||
const url = `http://localhost:${port}/api/v1/markdown`;
|
||||
|
||||
const putStream = mdStream
|
||||
.pipe(request.put(url));
|
||||
|
||||
_pullout(putStream, 'string')
|
||||
.then((result) => {
|
||||
t.equal(result, htmlFile, 'should render markdown input to html');
|
||||
t.end();
|
||||
after();
|
||||
})
|
||||
.catch((error) => {
|
||||
t.fail(error.message);
|
||||
t.end();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test('cloudcmd: markdown: put: error', (t) => {
|
||||
const dir = path.join(__dirname, 'fixture');
|
||||
const md = path.join(dir, 'markdown-not-exist.md');
|
||||
|
||||
const name = 'hello';
|
||||
const mdStream = fs.createReadStream(md);
|
||||
|
||||
mdStream.url = 'http://hello.world';
|
||||
mdStream.method = 'PUT';
|
||||
|
||||
_markdown(name, mdStream)
|
||||
.then((result) => {
|
||||
t.fail(`should fail but: ${result}`);
|
||||
t.end();
|
||||
})
|
||||
.catch((error) => {
|
||||
t.ok(error.message.includes('ENOENT: no such file or directory'), 'should emit error');
|
||||
t.end();
|
||||
});
|
||||
});
|
||||
|
||||
test('cloudcmd: markdown: no name', (t) => {
|
||||
t.throws(markdown, /name should be string!/, 'should throw when no name');
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('cloudcmd: markdown: no request', (t) => {
|
||||
const fn = () => markdown('hello');
|
||||
|
||||
t.throws(fn, /request could not be empty!/, 'should throw when no request');
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('cloudcmd: markdown: no function', (t) => {
|
||||
const fn = () => markdown('hello', {});
|
||||
|
||||
t.throws(fn, /callback should be function!/, 'should throw when no callback');
|
||||
t.end();
|
||||
});
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue