我开玩笑地测试了 redux-actions。特定的 redux-action 使用 Notifications API 作为副作用。我如何模拟通知 API?
现在,我只是这样模拟它:
global.Notification = {...};
它有效,但我认为有更优雅的解决方案来解决这个问题。有任何想法吗?
我有这个模块来处理通知 API:
export const requestNotifyPermission = () => {
try {
return Notification.requestPermission().then(function(result) {
return result;
});
} catch(err) {
console.warn('NotificationsAPI error: ' + err);
}
};
export const getCurrentNotifyPermission = () => {
// Possible values = default, granted, denied
try {
return Notification.permission;
} catch {
return 'denied';
}
};
export const createNotify = (title, body) => {
try {
if (getCurrentNotifyPermission() === 'granted') {
var options = {
body: body
};
return new Notification(title, options);
}
} catch(err) {
console.warn('NotificationsAPI error: ' + err);
}
}