Coder Social home page Coder Social logo

Comments (4)

ctimmerm avatar ctimmerm commented on May 18, 2024 27

There's currently no shorthand for it, but you can achieve that by passing a callback function to reply and checking the params there:

mock.onGet('/api').reply(function(config) {
  if (config.params.name === 'Bob') { // or check for deep equality with config.params
    return [200, 'Hello'];
  } else {
    return [400];
  }
});

I do plan to add support for giving the params to match to onGet though, as soon as I have some extra time (so that the first example you gave would work).

from axios-mock-adapter.

CodinCat avatar CodinCat commented on May 18, 2024 4

I think matching mock.onGet('/api?name=Bob') would make more sense since the test doesn't need to know how the request is being sent, axios.get('/api', { params: { name: 'Bob' }}) or axios.get('/api?name=Bob'), it doesn't matter.

btw this is a really great library, thanks for your working.

from axios-mock-adapter.

jayudhandha avatar jayudhandha commented on May 18, 2024

Hi Everyone,

I am doing similar stuff using for mocking my delete api.
Below is my Actual API call and mock function.

API:

axios.delete('/admin?user='+<DYNAMIC VALUE>).then(function(response) {
    console.log('Fail )
}).catch(function (error) {
    console.log('Fail )
});

Mock:

mock.onDelete('/admin?').reply(200,{ params: { foo: 'test'} });

I don't know how we can make this mock dynamic. For any value of user query param, i want to send this dummy output.

Any help?

Thanks,
Jayesh

from axios-mock-adapter.

NearHuscarl avatar NearHuscarl commented on May 18, 2024

@jayudhandha you can solve this by using regex to match url with dynamic query string. See my answer here for more detail (live demo included)

from axios-mock-adapter.

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.