В Cypress, как заглушить запрос POST API с параметрами в теле? - PullRequest
0 голосов
/ 12 января 2019

Я пишу сквозной тест с Cypress, и я хотел бы заблокировать сетевые запросы, которые делает мое приложение. В частности, я хотел бы заглушить несколько запросов POST, которые имеют параметры в теле, и изменить мой смоделированный ответ на основе этих параметров.

Я хотел бы сделать что-то вроде

cy.route(
  method: 'POST',
  url: '/todos/add'
  params: {
    'urgency': 3,
    'stakeholder_id': 'SKH001'
  },
  response: 'fixture:add1.json',
)

cy.route(
  method: 'POST',
  url: '/todos/add'
  params: {
    'urgency': 1,
  },
  response: 'fixture:add2.json',
)

Но после прочтения https://docs.cypress.io/guides/guides/network-requests.html и https://docs.cypress.io/api/commands/route.html#Arguments, Я не вижу поддерживаемого способа проверки аргументов в заглушаемом запросе.

Можно ли это сделать, передав функцию в параметр onRequest cy.route? Если это так, что я вернусь из этой функции, которая сообщает Cypress "этот маршрут на самом деле не обрабатывает этот запрос"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...