Я пишу сквозной тест с 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 "этот маршрут на самом деле не обрабатывает этот запрос"?