Files
bower/test/util/createLink.js
2018-03-28 19:28:43 +02:00

52 lines
1.4 KiB
JavaScript

var path = require('path');
var Q = require('q');
var fs = require('fs');
var expect = require('expect.js');
var helpers = require('../helpers');
var createLink = require('../../lib/util/createLink');
describe('createLink', function() {
var srcDir = new helpers.TempDir({
someFile: 'Hello World',
someDirectory: {
otherFile: 'Hello World'
}
});
var dstDir = new helpers.TempDir();
beforeEach(function() {
srcDir.prepare();
dstDir.prepare();
});
it('creates a symlink to a file', function() {
var src = path.join(srcDir.path, 'someFile'),
dst = path.join(dstDir.path, 'someFile');
return createLink(src, dst).then(function() {
return Q.nfcall(fs.readlink, dst).then(function(linkString) {
expect(linkString).to.be.equal(src);
});
});
});
it('throws an error when destination already exists', function() {
var src = path.join(srcDir.path, 'someFile'),
dst = path.join(dstDir.path);
var deferred = Q.defer();
createLink(src, dst)
.catch(function(err) {
expect(err.code).to.be.equal('EEXIST');
deferred.resolve();
})
.then(function() {
deferred.reject();
});
return deferred.promise;
});
});