Neues Initialrelease mit IonicMaterial
This commit is contained in:
76
www/lib/ngCordova/src/mocks/push.js
Normal file
76
www/lib/ngCordova/src/mocks/push.js
Normal file
@@ -0,0 +1,76 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* @ngdoc service
|
||||
* @name ngCordovaMocks.cordovaPush
|
||||
*
|
||||
* @description
|
||||
* A service for testing push notifications features
|
||||
* in an app build with ngCordova.
|
||||
*/
|
||||
ngCordovaMocks.factory('$cordovaPush', ['$q', '$timeout', '$rootScope', function ($q, $timeout, $rootScope) {
|
||||
var throwsError = false;
|
||||
|
||||
var deviceToken = '';
|
||||
|
||||
return {
|
||||
/**
|
||||
* @ngdoc property
|
||||
* @name throwsError
|
||||
* @propertyOf ngCordovaMocks.cordovaPush
|
||||
*
|
||||
* @description
|
||||
* A flag that signals whether a promise should be rejected or not.
|
||||
* This property should only be used in automated tests.
|
||||
**/
|
||||
throwsError: throwsError,
|
||||
|
||||
/**
|
||||
* @ngdoc property
|
||||
* @name deviceToken
|
||||
* @propertyOf ngCordovaMocks.cordovaPush
|
||||
*
|
||||
* @description
|
||||
* Token send when service register device
|
||||
* This property should only be used in automated tests.
|
||||
**/
|
||||
deviceToken: deviceToken,
|
||||
|
||||
onNotification: function (notification) {
|
||||
$timeout(function () {
|
||||
$rootScope.$broadcast('$cordovaPush:notificationReceived', notification);
|
||||
});
|
||||
},
|
||||
|
||||
register: function (config) {
|
||||
var _self = this;
|
||||
var defer = $q.defer();
|
||||
if (config !== undefined && config.ecb === undefined) {
|
||||
config.ecb = this.onNotification;
|
||||
}
|
||||
|
||||
if (this.throwsError) {
|
||||
defer.reject('There was a register error.');
|
||||
} else {
|
||||
defer.resolve(this.deviceToken);
|
||||
if (config && config.ecb) {
|
||||
config.ecb({
|
||||
event: 'registered',
|
||||
regid: _self.deviceToken
|
||||
});
|
||||
}
|
||||
}
|
||||
return defer.promise;
|
||||
},
|
||||
|
||||
unregister: function (options) {
|
||||
var defer = $q.defer();
|
||||
if (this.throwsError) {
|
||||
defer.reject('There was a register error.');
|
||||
} else {
|
||||
defer.resolve();
|
||||
}
|
||||
return defer.promise;
|
||||
},
|
||||
};
|
||||
}]);
|
||||
Reference in New Issue
Block a user