intercept-async.ts 465 B

1234567891011121314151617
  1. import { RouteHandler, RouteMatcher } from 'cypress/types/net-stubbing'
  2. export const interceptAsync = (route: RouteMatcher, alias: string) => {
  3. const deferred: { resolve: (value: RouteHandler) => void } = {
  4. resolve: () => {},
  5. }
  6. const promise = new Promise<RouteHandler>(resolve => {
  7. deferred.resolve = resolve
  8. })
  9. cy.intercept(route, req => {
  10. return promise.then(response => req.reply(response))
  11. }).as(alias)
  12. return cy.wrap(deferred)
  13. }