При тестировании моего создателя действий я получаю следующую ошибку:
expect(`jest.fn()`).toHaveBeenCalledWith(expected)
Expected mock function to have been called with:
["/baselist/list/12345"]
But it was not called.
Моя тестовая функция выглядит следующим образом:
describe("fetchBases", () => {
it("should return the bases created by the current user", () => {
const bases = [];
global.fetch = jest.fn().mockImplementation(() =>
Promise.resolve({
ok: true,
json() {
return bases;
}
})
);
const dispatch = jest.fn();
const creatorId = "12345";
const access_token = "IUDUHADBABwbdpi";
return fetchBasesByCreatorId(creatorId, access_token)(dispatch).then(() => {
expect(fetch).toHaveBeenCalledWith(`/baselist/list/${creatorId}`);
expect(dispatch).toHaveBeenCalledWith(
fetchBasesByCreatorIdSuccess(bases)
);
});
});
});
Я новичок в функциональном тестировании, поэтому я неЯ уверен, что мне нужно указать creatorId
и access_token
, но мой реальный создатель действий принимает эти два параметра.Не уверен, какую другую информацию я должен предоставить, чтобы сделать проблему более ясной.Фактический создатель функции выглядит следующим образом:
export const fetchBasesByCreatorId = (creatorId, access_token) => dispatch => {
dispatch(fetchBasesByCreatorIdRequest());
return fetch(`${API_BASE_URL}/baselist/list/${creatorId}`, {
method: "GET",
headers: {
authorization: `Bearer ${access_token}`
}
})
.then(res => {
if (!res.ok) {
return Promise.reject(res.statusText);
}
return res.json();
})
.then(bases => dispatch(fetchBasesByCreatorIdSuccess(bases)))
.catch(error => dispatch(fetchBasesByCreatorIdError(error)));
};
Я хочу пройти очень поверхностный тест, он не должен проходить слишком глубоко.