Как протестировать push-уведомления iOS с помощью Detox - PullRequest
0 голосов
/ 16 ноября 2018

Мы только что реализовали некоторую настраиваемую обработку 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 для обработки уведомлений.Возможно, эта библиотека несовместима с детоксикационными уведомлениями?(Хотя я не смог найти никакой информации, чтобы подтвердить / отклонить это).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...