Commit 4567efcb authored by Ran's avatar Ran Committed by GitHub

Merge pull request #87 from wix/isRegisteredForRemoteNotifications

iOS API - Is registered for remote notifications
parents 43a4c895 cb2ec057
......@@ -549,4 +549,17 @@ RCT_EXPORT_METHOD(cancelAllLocalNotifications)
[RCTSharedApplication() cancelAllLocalNotifications];
}
RCT_EXPORT_METHOD(isRegisteredForRemoteNotifications:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
{
BOOL ans;
if (TARGET_IPHONE_SIMULATOR) {
ans = [[[UIApplication sharedApplication] currentUserNotificationSettings] types] != 0;
}
else {
ans = [[UIApplication sharedApplication] isRegisteredForRemoteNotifications];
}
resolve(@(ans));
}
@end
......@@ -203,4 +203,8 @@ export default class NotificationsIOS {
static cancelAllLocalNotifications() {
NativeRNNotifications.cancelAllLocalNotifications();
}
static isRegisteredForRemoteNotifications() {
return NativeRNNotifications.isRegisteredForRemoteNotifications();
}
}
......@@ -17,18 +17,19 @@ describe("NotificationsIOS", () => {
/*eslint-disable indent*/
let deviceAddEventListener,
deviceRemoveEventListener,
nativeAppAddEventListener,
nativeAppRemoveEventListener,
nativeRequestPermissionsWithCategories,
nativeAbandonPermissions,
nativeRegisterPushKit,
nativeBackgroundTimeRemaining,
nativeConsumeBackgroundQueue,
nativeLocalNotification,
nativeCancelLocalNotification,
nativeCancelAllLocalNotifications,
nativeSetBadgesCount;
deviceRemoveEventListener,
nativeAppAddEventListener,
nativeAppRemoveEventListener,
nativeRequestPermissionsWithCategories,
nativeAbandonPermissions,
nativeRegisterPushKit,
nativeBackgroundTimeRemaining,
nativeConsumeBackgroundQueue,
nativeLocalNotification,
nativeCancelLocalNotification,
nativeCancelAllLocalNotifications,
nativeSetBadgesCount,
nativeIsRegisteredForRemoteNotifications;
let NotificationsIOS, NotificationAction, NotificationCategory;
let someHandler = () => {};
......@@ -49,6 +50,7 @@ describe("NotificationsIOS", () => {
nativeCancelLocalNotification = sinon.spy();
nativeCancelAllLocalNotifications = sinon.spy();
nativeSetBadgesCount = sinon.spy();
nativeIsRegisteredForRemoteNotifications = sinon.spy();
let libUnderTest = proxyquire("../index.ios", {
"uuid": {
......@@ -65,7 +67,8 @@ describe("NotificationsIOS", () => {
localNotification: nativeLocalNotification,
cancelLocalNotification: nativeCancelLocalNotification,
cancelAllLocalNotifications: nativeCancelAllLocalNotifications,
setBadgesCount: nativeSetBadgesCount
setBadgesCount: nativeSetBadgesCount,
isRegisteredForRemoteNotifications: nativeIsRegisteredForRemoteNotifications
}
},
NativeAppEventEmitter: {
......@@ -104,6 +107,7 @@ describe("NotificationsIOS", () => {
nativeLocalNotification.reset();
nativeCancelLocalNotification.reset();
nativeCancelAllLocalNotifications.reset();
nativeIsRegisteredForRemoteNotifications.reset();
});
after(() => {
......@@ -119,6 +123,7 @@ describe("NotificationsIOS", () => {
nativeLocalNotification = null;
nativeCancelLocalNotification = null;
nativeCancelAllLocalNotifications = null;
nativeIsRegisteredForRemoteNotifications = null;
NotificationsIOS = null;
NotificationAction = null;
......@@ -295,4 +300,13 @@ describe("NotificationsIOS", () => {
expect(nativeCancelAllLocalNotifications).to.have.been.calledWith();
});
});
describe("Is registered for remote notifications ", () => {
it("should call native is registered for remote notifications", () => {
NotificationsIOS.isRegisteredForRemoteNotifications();
expect(nativeIsRegisteredForRemoteNotifications).to.have.been.calledWith();
});
});
});
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment