GithubHelp home page GithubHelp logo

Comments (5)

VictorCazanave avatar VictorCazanave commented on June 25, 2024 7

I was looking for the same feature and I think there is a typo in the README that misled me : "AxiosMock coveres the most popular parts of Axios API, meaning that some of the features are not missing (i.e. interceptors)."
(English is not my native language, so I may be wrong 👼 )

from jest-mock-axios.

Graham42 avatar Graham42 commented on June 25, 2024 4

In case someone ends up here from google. This was my approach. Not sure if it's the correct or best way but it works for me.

/* __mocks__/axios.ts */
import { AxiosStatic } from "axios";

const mockAxios = jest.genMockFromModule<AxiosStatic>("axios");

console.log("in mock setup");
mockAxios.interceptors = mockAxios.interceptors || {};
mockAxios.interceptors.response = mockAxios.interceptors.response || {};
mockAxios.interceptors.response.use = jest.fn();
mockAxios.create = () => {
  console.log("in mock create");
  return mockAxios;
};

export default mockAxios;
/* __tests__/thing.spec.ts */
// seems to be important to have this before the module import
const mockAxios: jest.Mocked<AxiosStatic> = require("axios").default;

import { thingUsingAxios } from "../thing";

  it("basic", async () => {
    mockAxios.post.mockImplementationOnce(async (...args) => ({
      status: 200,
      data: {},
      headers: {},
      config: {},
      statusText: "ok",
    }));

  // call thing
  // verify something
})

from jest-mock-axios.

knee-cola avatar knee-cola commented on June 25, 2024

I'm sorry to say, but interceptors are currently not supported. I hope to find some time and implement this feature (can't promise when). You're welcome to implement it yourself and make a pull request :)

from jest-mock-axios.

chrisjlee avatar chrisjlee commented on June 25, 2024

Trying to do this too. Might be a dumb question could you possible provide some insight what would it take to get this working?

from jest-mock-axios.

kingjan1999 avatar kingjan1999 commented on June 25, 2024

Hi,

thank your for reporting this issue. I've implemented basic support for interceptors (as already presented here and in #23) with version 2.3.0 (just published on npm). Please try and report back.

from jest-mock-axios.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.