/
write-file.test.js
52 lines (45 loc) · 1.49 KB
/
write-file.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
var mockFS = require('mock-fs'),
MockNode = require('mock-enb/lib/mock-node'),
WriteFileTechs = require('../../techs/write-file');
describe('techs/write-file', function () {
var bundle,
resolveSpy,
rejectSpy;
beforeEach(function () {
mockFS({
bundle: {
'file.txt': 'I\'m here'
}
});
bundle = new MockNode('bundle');
resolveSpy = sinon.spy(bundle, 'resolveTarget');
rejectSpy = sinon.spy(bundle, 'rejectTarget');
});
afterEach(function () {
mockFS.restore();
});
it('should create target file', function () {
return bundle.runTech(WriteFileTechs, {
target: 'file.txt',
content: 'I\'m here'
})
.should.be.fulfilled
.then(function () {
resolveSpy.should.calledWith('file.txt');
});
});
it('should prodive file to target', function () {
return bundle.runTech(WriteFileTechs, { target: 'file.txt' })
.should.be.fulfilled
.then(function () {
resolveSpy.should.calledWith('file.txt');
});
});
it('should reject target if file is not found', function () {
return bundle.runTech(WriteFileTechs, { target: 'non-existent.txt' })
.should.be.rejectedWith('file not found')
.then(function () {
rejectSpy.should.calledWith('non-existent.txt');
});
});
});