UNPKG

@incdevco/framework

Version:
163 lines (90 loc) 3.29 kB
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(); }); });