41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
/* jshint evil: true */
|
|
/* jshint ignore: start */
|
|
|
|
var chai = require('chai');
|
|
var expect = chai.expect;
|
|
var jsonexport = require('../lib/index');
|
|
var os = require('os');
|
|
|
|
describe('Promise', () => {
|
|
it('resolve', async () => {
|
|
const csv = await jsonexport([{
|
|
name: 'Bob',
|
|
lastname: 'Smith'
|
|
}, {
|
|
name: 'James',
|
|
lastname: 'David',
|
|
escaped: 'I am a "quoted" field'
|
|
}]);
|
|
expect(csv).to.equal(`name,lastname,escaped${os.EOL}Bob,Smith${os.EOL}James,David,"I am a ""quoted"" field"`);
|
|
});
|
|
it('catch', (done) => {
|
|
jsonexport(1).catch(err => {
|
|
expect(err).to.be.an('error', 'promise .catch() should return errors');
|
|
done()
|
|
});
|
|
});
|
|
it('with options', async () => {
|
|
const csv = await jsonexport([{
|
|
name: 'Bob',
|
|
lastname: 'Smith'
|
|
}, {
|
|
name: 'James',
|
|
lastname: 'David',
|
|
escaped: 'I am a "quoted" field'
|
|
}], {
|
|
rowDelimiter: ';',
|
|
})
|
|
expect(csv).to.equal(`name;lastname;escaped${os.EOL}Bob;Smith${os.EOL}James;David;"I am a ""quoted"" field"`);
|
|
});
|
|
});
|