Как проверить RxDB в Redux-саге с помощью Jest? - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь охватить избыточную сагу, которая получает данные из RxDB, с помощью тестов Jest.

export function* checkUnsavedData(action) {
  const { tab } = action;
  try {
    const db = yield getDB().catch(e => {
      throw new Error(e);
    });

    const currentUser = yield select(makeSelectCurrentUser());

    const unsavedData = yield db[USER_COLLECTION].findOne(currentUser)
      .exec()
      .then(data => data && data.unsavedData)
      .catch(e => {
        throw new Error(e);
      });
  } catch (error) {
    yield showError(error);
  }
}

Вживую все в порядке. Но тестируя генератор я получаю:

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Error: RxError:
RxDatabase.create(): Adapter not added. Use RxDB.plugin(require('pouchdb-adapter-[adaptername]');
Given parameters: {
adapter:"idb"}

Если кто-то сделал это, скажите, пожалуйста, как тестировать такие случаи с RxDB в redux-saga с помощью Jest.

1 Ответ

0 голосов
/ 11 января 2019

Похоже, вы не добавили адаптер в RxDB. Можете ли вы вставить код, где вы создаете базу данных? Это помогло бы больше найти ошибку.

При запуске тестов не следует использовать idb-адаптер. Используйте адаптер в памяти , это быстрее, и вы также можете быть уверены, что запускаете в чистом состоянии при каждом запуске.

...