UNPKG

ng-cordova

Version:

[ngCordova](http://ngcordova.com/) ==========

110 lines (91 loc) 2.7 kB
describe('Service: $cordovaTouchID', function() { var $cordovaTouchID, $rootScope; beforeEach(module('ngCordova.plugins.touchid')); beforeEach(inject(function (_$cordovaTouchID_, _$q_, _$rootScope_) { $cordovaTouchID = _$cordovaTouchID_; $rootScope = _$rootScope_; window.touchid = { checkSupport: angular.noop, authenticate: angular.noop }; })); it("calls checkSupport without params", function() { var result; spyOn(window.touchid, 'checkSupport') .and.callFake(function(successCb, errCb) { successCb(); }); $cordovaTouchID.checkSupport() .then(function() { result = true; }); $rootScope.$digest(); expect(result).toBe(true); expect(window.touchid.checkSupport).toHaveBeenCalledWith( jasmine.any(Function), jasmine.any(Function) ); }); it("rejects checkSupport on err callback", function() { var errorResult; spyOn(window.touchid, 'checkSupport') .and.callFake(function(successCb, errCb) { errCb("Not available in test"); }); $cordovaTouchID.checkSupport() .then(angular.noop, function(err) { errorResult = false; } ); $rootScope.$digest(); expect(errorResult).toBe(false); }); it("rejects checkSupport when window.cordova is not present", function() { var errorResult; _cordova = window.cordova; window.cordova = null; $cordovaTouchID.checkSupport() .then(angular.noop, function(err) { errorResult = false; } ); $rootScope.$digest(); expect(errorResult).toBe(false); window.cordova = _cordova }); it("calls authenticate with auth_text_reason", function() { var result; var auth_text_reason = "To prove the test works"; spyOn(window.touchid, 'authenticate') .and.callFake(function(successCb, errCb, text) { successCb(); }); $cordovaTouchID.authenticate(auth_text_reason) .then(function() { result = true; }); $rootScope.$digest(); expect(result).toBe(true); expect(window.touchid.authenticate).toHaveBeenCalledWith( jasmine.any(Function), jasmine.any(Function), auth_text_reason ); }); it("rejects authenticate when window.cordova is not present", function() { var errorResult; _cordova = window.cordova; window.cordova = null; $cordovaTouchID.authenticate() .then(angular.noop, function(err) { errorResult = false; } ); $rootScope.$digest(); expect(errorResult).toBe(false); window.cordova = _cordova }); });