I am learning how to test and use some examples as a guide. I'm trying to make fun of the login. The example uses fetch to call http, but I use axios. This is the error I get
Timeout - Async callback is not called within the timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL
All answers to this error are related to extracting how to do this with axios
./saga
const encoder = credentials => Object.keys(credentials).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(credentials[key])}`).join('&') const postLogin = credentials => { credentials.grant_type = 'password' const payload = { method: 'post', headers: config.LOGIN_HEADERS, data: encoder(credentials), url: `${config.IDENTITY_URL}/Token` } return axios(payload) } function * loginRequest (action) { try { const res = yield call(postLogin, action.credentials) utils.storeSessionData(res.data) yield put({ type: types.LOGIN_SUCCESS, data: res.data }) } catch (err) { yield put({ type: types.LOGIN_FAILURE, err }) } } function * loginSaga () { yield takeLatest(types.LOGIN_REQUEST, loginRequest) } export default loginSaga
./ Enter test
const loginReply = { isAuthenticating: false, isAuthenticated: true, email: 'foo@yahoo.com', token: 'access-token', userId: '1234F56', name: 'Jane Doe', title: 'Tester', phoneNumber: '123-456-7890', picture: 'pic-url', marketIds: [1, 2, 3] } describe('login-saga', () => { it('login identity user', async (done) => {
javascript reactjs chai jestjs jest nock
texas697
source share