filer/tests/spec/filer.filesystem.spec.js

48 lines
1.6 KiB
JavaScript

'use strict';
const Filer = require('../../src');
const util = require('../lib/test-utils.js');
const expect = require('chai').expect;
describe('Filer.FileSystem', function() {
beforeEach(util.setup);
afterEach(util.cleanup);
it('should properly mount new or existing filesystem', function(done) {
const provider = util.provider().provider;
// 1) Should be able to open a new filesystem, and get empty root
const fs1 = new Filer.FileSystem({provider: provider}, function() {
fs1.readdir('/', function(err, entries) {
expect(err).not.to.exist;
expect(entries).to.be.an('array');
expect(entries.length).to.equal(0);
fs1.writeFile('/file', 'data', function(err) {
if(err) throw err;
// 2) Should be able to open an existing filesystem
const fs2 = new Filer.FileSystem({provider: provider}, function() {
fs2.readdir('/', function(err, entries) {
expect(err).not.to.exist;
expect(entries).to.be.an('array');
expect(entries.length).to.equal(1);
expect(entries[0]).to.equal('file');
// 3) FORMAT flag should wipe an existing filesystem
const fs3 = new Filer.FileSystem({provider: provider, flags: ['FORMAT']}, function() {
fs3.readdir('/', function(err, entries) {
expect(err).not.to.exist;
expect(entries).to.be.an('array');
expect(entries.length).to.equal(0);
done();
});
});
});
});
});
});
});
});
});