Тест в Redux Sagas не работает, потому что тайм-аут - PullRequest
0 голосов
/ 15 мая 2019

У меня есть этот тест:

import { expectSaga } from 'redux-saga-test-plan';
import { watchFetchAllCompanies } from 'store/core/sagas';
import { select } from 'redux-saga/effects';
import { companySelectedSelector } from 'store/core/selectors';
import * as matchers from 'redux-saga-test-plan/matchers';
import * as actions from 'store/core/actions';
import * as services from 'store/core/services';

const fakeCompanySelected = {
  icomp: '234234sdhsdfg',
};

const fakeAllCompanies = [
  {
    id: 0,
  },
  {
    id: 1,
  },
  {
    id: 2,
  },
];

describe('Core sagas module: ', () => {
  it('Should fail if store is empty: ', () =>
    expectSaga(watchFetchAllCompanies)
      .provide([
        [select(companySelectedSelector), fakeCompanySelected],
        [matchers.call.fn(services.fetchAllCompanies), fakeAllCompanies],
      ])
      .put(actions.successGetAllCompanies(fakeAllCompanies))
      .dispatch(actions.getAllCompanies)
      .run());
});

Но, когда я запускаю этот тест, я получаю эту ошибку:

enter image description here

А это мои саги:

function* workerFetchAllCompanies() {
  const companySelected = yield select(companySelectedSelector);

  try {
    const { data } = yield call(services.fetchAllCompanies);

    if (!companySelected) {
      yield put(actions.setCompany(data[0]));
    }

    yield put(actions.successGetAllCompanies(data));
  } catch (error) {
    yield put(actions.failureGetAllCompanies(error));
  }
}

И это мой наблюдатель:

export function* watchFetchAllCompanies() {
  yield takeLatest(types.ALL_COMPANIES_GET, workerFetchAllCompanies);
}

Итак, я не знаю причину, по которой это не работает нормально. Я должен был следовать документации, но я не понимаю. В чем причина?

Спасибо.

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