Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

66
Vistas
La consulta Cy.intercept no funciona con matrices

Me burlo de un punto final con parámetros de consulta en Cypress. Pero cuando se proporciona un campo de consulta con una matriz de elementos de campo.

 cy.intercept( { method: 'POST', pathname: '/api/initiate/manual', hostname: Cypress.env('CY_API_URL'), https: true, query: { orderId: '13535353453', items: [ { id: '3853438474', name: 'Standard Wholesale HB Yellow Pencils', }, { id: '2424534353453', name: 'natural wood dipped end 72 color', }, ], }, }, { statusCode: 200, }, ).as('mockManuelOrder');

da error:

CypressError

Se proporcionó un RouteMatcher no válido a cy.intercept(). query.items debe ser una cadena o una expresión regular.

como puedo solucionar el problema?, necesito enviar los parametros de la consulta tal como esta.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Esto parece funcionar, aunque he adivinado cómo se ve la URL cuando se envía por cable (puede que no corresponda).

Básicamente, moví los parámetros de consulta de RouteMatcher a RouteHandler y usé javascript para verificarlos.

Si coinciden, asigno un alias dinámico y envío la respuesta del código auxiliar.

 cy.intercept( { method: 'POST', pathname: '/api/initiate/manual', hostname: Cypress.env('CY_API_URL'), https: true, }, (req) => { const params = { "orderId": "13535353453", "items": [ {"id": "3853438474", "name": "Standard Wholesale HB Yellow Pencils"}, {"id": "2424534353453", "name": "natural wood dipped end 72 color"} ] } const matches = req.query.orderId === params.orderId && req.query.items == JSON.stringify(params.items) if (matches) { req.alias = 'mockManuelOrder' req.reply({statusCode: 200}) } } // trigger POST cy.wait('@mockManuelOrder') // passes
about 4 years ago · Juan Pablo Isaza Denunciar

0

Debería estar funcionando:

 query: JSON.stringify({ orderId: '13535353453', items: [ { id: '3853438474', name: 'Standard Wholesale HB Yellow Pencils', }, { id: '2424534353453', name: 'natural wood dipped end 72 color', }, ], }),
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda