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

82 lines
2.0 KiB
JavaScript

'use strict';
describe('ngCordovaMocks', function() {
beforeEach(function() {
module('ngCordovaMocks');
});
describe('cordovaPush', function () {
var $rootScope = null;
var $timeout = null;
var $cordovaPush = null;
beforeEach(inject(function (_$cordovaPush_, _$rootScope_, _$timeout_) {
$cordovaPush = _$cordovaPush_;
$timeout = _$timeout_;
$rootScope = _$rootScope_;
}));
it('should register', function (done) {
var expectedToken = 'ABC';
$cordovaPush.deviceToken = expectedToken;
$rootScope.$on('$cordovaPush:notificationReceived', function(event, notification) {
expect(notification.event).toBe('registered');
expect(notification.regid).toBe(expectedToken);
});
$cordovaPush.register({})
.then(
function(result) {
expect(result).toBe(expectedToken);
},
function() { expect(false).toBe(true); }
)
.finally(function() { done(); })
;
$rootScope.$digest();
$timeout.flush();
});
it('should throw an error while register.', function(done) {
$cordovaPush.throwsError = true;
$cordovaPush.register()
.then(
function() { expect(true).toBe(false); },
function() { expect(true).toBe(true); }
)
.finally(function() { done(); })
;
$rootScope.$digest();
});
it('should unregister', function (done) {
$cordovaPush.unregister()
.then(
function() { expect(true).toBe(true); },
function() { expect(false).toBe(true); }
)
.finally(function() { done(); })
;
$rootScope.$digest();
});
it('should throw an error while unregister.', function(done) {
$cordovaPush.throwsError = true;
$cordovaPush.unregister()
.then(
function() { expect(true).toBe(false); },
function() { expect(true).toBe(true); }
)
.finally(function() { done(); })
;
$rootScope.$digest();
});
});
});