1

I need to test async function using mocha.

Tried to test function that returns Promise from axios. Looked through many examples with axios-mock-adapter to solve my issue. BUT: axios sends REAL request, not mock as expected.

describe ('login sendRequest', () => {
let sandbox = null;
before(() => {
    sandbox = sinon.createSandbox();
});

after(() => {
    sandbox.restore();
});

it('should create and return REST promise', done => {
    const mockAdapter = new MockAdapter(axios);
    const data = { response: true };
    mockAdapter.onAny('http://google.com').reply(200, data);
    const requestParams = {
        method: 'post',
        url: 'http://google.com',
        data: {},
        adapter: adapter,
    };
    logic.sendRequest(requestParams).then(response => {
        console.log(response);
        done();
    }).catch(err => {
        console.log(err);
    });
});
});

logic.js

export async function sendRequest(requsetParams) {
   return await requestSender.request(requsetParams);  
}

Expected to get 200 response and mock data that was set before. Why I don't get the response I need? May someone help?

0 Answers0