Мы только что реализовали некоторую настраиваемую обработку push-уведомлений в нашем мобильном приложении ReactNative, и я пытаюсь написать интеграционные тесты для них с использованием инфраструктуры Detox.Мы знаем, что уведомления работают на реальных устройствах, однако уведомления никогда не обрабатываются в детокс-тестах.
const favoriteNotification = {
"trigger": {
"type": "push"
},
body: 'Your awesome notification',
};
describe(`Push Notifications`, () => {
beforeAll(async () => {
await device.launchApp({
delete: true,
newInstance: true,
permissions: {notifications: 'YES'}
});
// code to login the user into the app
});
it(`app opened from the favorite notification`, async () => {
await device.launchApp({
// newInstance: true,
// permissions: {notifications: 'YES'},
userNotification: favoriteNotification
});
let element = element(by.text(favoriteNotification.body))
await waitFor(element).toExist().withTimeout(5000);
await expect(element).toExist();
});
it(`when app is in the foreground, should show an alert`, async () => {
await device.launchApp({newInstance: true, permissions: {notifications: 'YES'}});
await device.sendUserNotification(favoriteNotification);
let element = element(by.text(favoriteNotification.body))
await waitFor(element).toExist().withTimeout(5000);
await expect(element).toExist();
});
});
В обоих случаях абсолютно ничего не происходит, и тесты не пройдены.Любая идея, как заставить это работать, или если это вообще возможно?
Версия Detox: 9.0.5
Версия ReactNative: 0.57.3
Мы используем react-native-notifications
версия 1.1.20 для обработки уведомлений.Возможно, эта библиотека несовместима с детоксикационными уведомлениями?(Хотя я не смог найти никакой информации, чтобы подтвердить / отклонить это).