2016-08-22 12:55:52 +02:00

170 lines
5.2 KiB
JavaScript

describe('ngCordovaMocks', function() {
beforeEach(function() {
module('ngCordovaMocks');
});
describe('cordovaFile', function () {
var $cordovaFile = null;
var $rootScope = null;
var testFileName = "test.txt";
var testData = "My data object";
var testFolder ="testfolder";
beforeEach(inject(function (_$cordovaFile_, _$rootScope_) {
$cordovaFile = _$cordovaFile_;
$rootScope = _$rootScope_;
}));
it('should successfully check directory', function(done) {
$cordovaFile.checkDir('/some/directory')
.then(
function() { expect(true).toBe(true); },
function() { expect(false).toBe(true); }
)
.finally(done);
$rootScope.$digest();
});
it('should fail checking directory', function(done) {
$cordovaFile.throwsError = true;
$cordovaFile.checkDir('/some/directory')
.then(
function() { expect(true).toBe(false); },
function() { expect(true).toBe(true); }
)
.finally(done);
;
$rootScope.$digest();
});
it('should successfully create a directory', function(done) {
$cordovaFile.createDir('/some/directory', true)
.then(
function() { expect(true).toBe(true); },
function() { expect(false).toBe(true); }
)
.finally(done);
$rootScope.$digest();
});
it('should fail creating a directory', function(done) {
$cordovaFile.throwsError = true;
$cordovaFile.createDir('/some/directory', true)
.then(
function() { expect(true).toBe(false); },
function() { expect(true).toBe(true); }
)
.finally(done);
$rootScope.$digest();
});
it('should successfully check for a file', function(done) {
$cordovaFile.checkFile('/some/directory', 'test.txt')
.then(
function() { expect(true).toBe(true); },
function() { expect(false).toBe(true); }
)
.finally(done);
$rootScope.$digest();
});
it('should fail checking directory', function(done) {
$cordovaFile.throwsError = true;
$cordovaFile.checkDir('/some/directory')
.then(
function() { expect(true).toBe(false); },
function() { expect(true).toBe(true); }
)
.finally(done);
$rootScope.$digest();
});
describe('tests with mockfFiles flag enabled',function(){
beforeEach(function(){
$cordovaFile.shouldMockFiles = true;
});
describe('file tests',function(){
beforeEach(function(){
$cordovaFile.writeFile(testFileName, testData);
$rootScope.$digest();
});
it('should resolve if file exists',function(done){
$cordovaFile.checkFile(testFileName).then(function(){
expect(true).toEqual(true);
},function(){
expect(false).toEqual(true);
}).finally(done);
$rootScope.$digest();
});
it('should reject if file do not exists',function(done){
$cordovaFile.checkFile('nonExistingFile.txt').then(function(){
expect(false).toEqual(true);
},function(){
expect(true).toEqual(true);
}).finally(done);
$rootScope.$digest();
});
it('should return file content if file exists',function(done){
$cordovaFile.readFile(testFileName).then(function(data){
expect(testData).toEqual(data);
},function(){
expect(false).toEqual(true);
}).finally(done);
$rootScope.$digest();
});
it('shold be rejected if file does not exists',function(done){
$cordovaFile.readFile('NotValidFile').then(function(data){
expect(false).toEqual(true);
},function(){
expect(true).toEqual(true);
}).finally(done);
$rootScope.$digest();
});
});
describe('directory tests',function(){
beforeEach(function(){
$cordovaFile.createDir(testFolder, true);
$rootScope.$digest();
});
it('should resolve test directory which was created in setup',function(done){
$cordovaFile.checkDir(testFolder).then(function(){
expect(true).toEqual(true);
},function(){
expect(false).toEqual(true);
}).finally(done);
$rootScope.$digest();
});
it('should not return test directory as file',function(done){
$cordovaFile.readFile(testFolder).then(function(){
expect(false).toEqual(true);
},function(){
expect(true).toEqual(true);
}).finally(done);
$rootScope.$digest();
});
});
});
});
// TODO: ping the fileSystem property to detect if
// - check whether directory exists or not.
// - overwrite works on the createDir function
});