Я новичок в тестировании с использованием jest, и я застрял в том, как я могу протестировать этот фрагмент кода, чтобы показать, что Axios.post вызывается при вызове моего registerUser. Я искал в Интернете, и у меня нет надежного решения для публикации. Был бы признателен, если бы решение было предоставлено
Это функция, которую мне нужно проверить из authAction.js
export const registerUser = (userData, history) => dispatch => {
axios
.post("/api/users/register", userData)
.then(res => history.push("/login")) // re-direct to login on successful register
.catch(err =>
dispatch({
type: GET_ERRORS,
payload: err.response.data
})
);
};
Я пробовал это, но, похоже, это не работает.
import * as authActions from './authActions';
import axios from 'axios';
import configureStore from 'redux-mock-store'; //ES6 modules
import thunk from 'redux-thunk';
const middleware = [thunk];
const mockStore = configureStore(middleware);
describe('test register user axios', () => {
it('should give a response of 201 back after it registers user', () => {
var userData = {email: "kamara@fc.come",
name: "Kris Kamara",
password: "adam123",
password2: "adam123"
}
var history = jest.fn();
const initialState = {}
const store = mockStore(initialState)
store.dispatch(authActions.registerUser({userData}, history));
expect(axios).toHaveBeenCalledTimes(1);
});
});
Заранее спасибо.