huturen / http-request-mock

Intercept & mock http requests issued by XMLHttpRequest, fetch, nodejs https/http module, axios, jquery, superagent, ky, node-fetch, request, got or any other request libraries by intercepting XMLHttpRequest, fetch and nodejs native requests at low level.

Home Page:https://huturen.github.io/http-request-mock-docs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question: How to assert request part

raphaelsoul opened this issue · comments

For i.e how to check request is called with query string a=123&b=456 using jest expect

You can check out the request query object like below:

import axios from 'axios';
import xhrAdapter from 'axios/lib/adapters/xhr';
import HttpRequestMock from 'http-request-mock';

axios.defaults.adapter = xhrAdapter;
const mocker = HttpRequestMock.setupForUnitTest('xhr');

mocker.get('https://your.api.com/path', function(request) {
  return request.query;
});

it('should request with `a=123&b=456`', async () => {
  const res = await axios.get('https://your.api.com/path?a=123&b=456');
  expect(res.data).toMatchObject({a: '123', b: '456'});
});

Output:

➜  http-request-mock-github git:(tmp) ✗ jest --testPathPattern=tmp.test.js
 PASS  test/tmp.test.js
  ✓ should request with `a=123&b=456` (8 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total

For more Request Information, please refer to the link below:

https://huturen.github.io/http-request-mock-homepage/feature/dynamic/#request-information


tmp test