axios-mock-adapter icon indicating copy to clipboard operation
axios-mock-adapter copied to clipboard

onMethod calls are no longer been matched over onAny Calls

Open ymor opened this issue 1 year ago • 0 comments

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)
  })
});

ymor avatar Sep 09 '24 10:09 ymor