ng-cordova
Version:
[ngCordova](http://ngcordova.com/) ==========
95 lines (68 loc) • 2.4 kB
JavaScript
describe('Service: $cordovaSQLite', function() {
var $cordovaSQLite, $rootScope, dbMock;
beforeEach(module('ngCordova.plugins.sqlite'));
beforeEach(inject(function (_$cordovaSQLite_, _$rootScope_) {
$cordovaSQLite = _$cordovaSQLite_;
$rootScope = _$rootScope_;
window.sqlitePlugin = {
openDatabase: angular.noop,
deleteDatabase: angular.noop
};
}));
it('should call window\'s sqlitePlugin.open method without background', function() {
var dbName = 'someDbName';
spyOn(window.sqlitePlugin, 'openDatabase');
$cordovaSQLite.openDB(dbName);
expect(window.sqlitePlugin.openDatabase).toHaveBeenCalledWith({
name: dbName, bgType: undefined
});
});
it('should call window\'s sqlitePlugin.open method with background', function() {
var dbName = 'someDbName';
var bgType = 2;
spyOn(window.sqlitePlugin, 'openDatabase');
$cordovaSQLite.openDB(dbName, bgType);
expect(window.sqlitePlugin.openDatabase).toHaveBeenCalledWith({
name: dbName,
bgType: bgType
});
});
it('should call window\'s sqlitePlugin.open method with options', function() {
var dbName = 'someDbName';
spyOn(window.sqlitePlugin, 'openDatabase');
$cordovaSQLite.openDB({name: dbName, createFromLocation: 1});
expect(window.sqlitePlugin.openDatabase).toHaveBeenCalledWith({
name: dbName,
createFromLocation: 1
});
});
it('should call window\'s sqlitePlugin.deleteDB method', function() {
var result;
var dbName = 'someDbName';
spyOn(window.sqlitePlugin, 'deleteDatabase')
.and.callFake(function (dbName, successCb, errorCb) {
successCb(true);
});
$cordovaSQLite.deleteDB(dbName)
.then(function (response) {
result = response;
});
$rootScope.$digest();
expect(result).toBe(true);
});
it('should call errorCb when in window\'s sqlitePlugin.deleteDatabase a error orccurs', function() {
var result;
var errorObj = { someError: 1 };
var dbName = 'someDbName';
spyOn(window.sqlitePlugin, 'deleteDatabase')
.and.callFake(function (dbName, successCb, errorCb) {
errorCb(errorObj);
});
$cordovaSQLite.deleteDB(dbName)
.then(angular.noop, function (response) {
result = response;
});
$rootScope.$digest();
expect(result).toBe(errorObj);
});
});