intercept-async.ts 521 B

12345678910111213141516171819
  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. console.error('This should never be called')
  6. },
  7. }
  8. const promise = new Promise<RouteHandler>(resolve => {
  9. deferred.resolve = resolve
  10. })
  11. cy.intercept(route, req => {
  12. return promise.then(response => req.reply(response))
  13. }).as(alias)
  14. return cy.wrap(deferred)
  15. }