@incdevco/framework
Version:
node.js lambda framework
163 lines (90 loc) • 3.29 kB
JavaScript
var Expect = require('chai').expect;
var Mock = require('../mock');
var Fs = require('./index');
describe('Fs', function () {
'use strict';
var config, fs, mock;
beforeEach(function () {
config = {};
fs = new Fs(config);
mock = new Mock();
});
describe('readFile', function() {
var expected, file, options, promise;
beforeEach(function() {
expected = 'expected';
file = 'file';
options = 'options';
promise = undefined;
});
it('should return promise that resolves with result', function (done) {
mock.mock(fs.fs).expect('readFile')
.with(file, options)
.willExecuteCallback(null, expected);
promise = fs.readFile(file, options);
Expect(promise).to.be.instanceof(Promise, 'returns promise');
promise
.then(function (result) {
Expect(result).to.equal(expected, 'result');
return mock.done(done);
})
.catch(done);
});
it('should return promise that rejects with exception', function (done) {
mock.mock(fs.fs).expect('readFile')
.with(file, options)
.willExecuteCallback(expected);
promise = fs.readFile(file, options);
Expect(promise).to.be.instanceof(Promise, 'returns promise');
promise
.then(function () {
throw new Error('resolved');
}, function (result) {
Expect(result).to.equal(expected, 'result');
return mock.done(done);
})
.catch(done);
});
});
describe('writeFile', function() {
var expected, file, options, promise, value;
beforeEach(function() {
expected = 'expected';
file = 'file';
options = 'options';
promise = undefined;
value = 'value';
});
it('should return promise that resolves with result', function (done) {
mock.mock(fs.fs).expect('writeFile')
.with(file, value, options)
.willExecuteCallback(null, expected);
promise = fs.writeFile(file, value, options);
Expect(promise).to.be.instanceof(Promise, 'returns promise');
promise
.then(function (result) {
Expect(result).to.equal(expected, 'result');
return mock.done(done);
})
.catch(done);
});
it('should return promise that rejects with exception', function (done) {
mock.mock(fs.fs).expect('writeFile')
.with(file, value, options)
.willExecuteCallback(expected);
promise = fs.writeFile(file, value, options);
Expect(promise).to.be.instanceof(Promise, 'returns promise');
promise
.then(function () {
throw new Error('resolved');
}, function (result) {
Expect(result).to.equal(expected, 'result');
return mock.done(done);
})
.catch(done);
});
});
afterEach(function () {
mock.restore();
});
});