Как написать JEST-тесты для успешного и неудачного выполнения обратного вызова API.Ниже приведен мой код
function userLogin(username, password) {
const reqBody = { companyEmailAddress: username, password, };
const url = `${config.apiBaseUrl}${serviceMethodConstants.login}`;
return (dispatch) => {
dispatch(serviceFactory.postData(
url,
false,
reqBody,
function (response, dispatch) {
if (response !== undefined) {
console.log(response )
}
}
));
};
}
Для того же самого я написал тестовый пример JEST, но он не показывает никаких сообщений об ошибках или успехах, как ожидалось.
it("Login User Success on API call ", async () => {
const dispatch = jest.fn();
const postDataResult = {
200: 'success',
400: 'error'
};
let url = "https://api/users/authenticate";
let reqBody = {
companyEmailAddress: "abcd@hotmail.com",
password: "pass"
};
jest.spyOn(serviceFactory, "postData").mockReturnValue(postDataResult);
userActions.userLogin("abcd@hotmail.com", "pass")(dispatch);
expect(serviceFactory.postData).toBeCalledWith(
url,
false,
reqBody,
expect.any(Function)
);
expect(dispatch).toBeCalledWith(postDataResult);
});