Git Product home page Git Product logo

cypress-contract-stubs's People

Contributors

claroquesi14 avatar gcirone avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

claroquesi14 mot4

cypress-contract-stubs's Issues

I expect to match a specific body for a request from a stub entry

First of all, thank you for your great plugin ๐Ÿ‘ .
I am considering to use it in my team for a GraphQL application. However, there is no way to match a specific GraphQL operation.
Indeed GraphQL requests use the same url so we cannot use a matcher on the url neither in the query params.
I can see in the implementation, there is no matcher on the body

cy.intercept(matcher, (req) => {

Here is the recommendation to handle GraphQL request in the Cypress documentation.

Maybe you can suggest in the intercept options to have a hook to intercept the request ?

interface InterceptStubsOptions {
      names?: string[];
      headers?: Record<string, any>;
      requestHandler?: (request: IncomingRequest) => void
    }

Where we can call in the interceptStubs function

matchRequestQueryParams(request, matcher);
matchRequestHeaders(request, matcher);

cy.intercept(matcher, (req) => {
  // here the custom matcher
  requestHandler?.(req)
  req.reply(response.status || 200, response.body, response.headers);
}).as(id);

What do you think ?

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.