ctimmerm / axios-mock-adapter

Axios adapter that allows to easily mock requests
MIT License
3.47k stars 245 forks source link

onMethod calls are no longer been matched over onAny Calls #396

Open ymor opened 2 months ago

ymor commented 2 months ago

Not sure if this is now somewhat expected behaviour for V2 but I had a few tests where in the before each id use an onAny, and then in the specific tests I'd override with onPost and this would previously match the more specific onPost handler. But its now ignoring the more specific handler and returning 200 from the onAny.

const MockAdapter = require('axios-mock-adapter');

const mock = new MockAdapter(axios);

describe('Example', () => {
  afterEach(() => {
    mock.reset();
  });
  beforeEach(() => {
    mock.onAny().reply(200);
  });

  test('should match on post', async () => {
    mock.onPost().reply(409); //It used to match this more specific handler pre v2
    const x = await axios.post('/anywhere', {
      validateStatus: (status) => status === 200 || status === 409,
    });
    expect(x.status).toBe(409)
  })
});