¿Cómo puedo agregar una respuesta a una solicitud HTTP?
Déjame explicarlo con mi código que tengo ahora:
Cypress.Commands.add("FakeLoginWithMsal", (userId) => { cy.intercept('**/oauth2/v2.0/token', (req) => { req.reply({ token_type: "Bearer", expires_in: 3795, access_token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJS" }) req.continue((res) => { }) })Con este código, estoy tratando de agregar la respuesta a la siguiente solicitud:
Pero todavía da el siguiente error, donde puedo entender que el código auxiliar no funcionó:
Intentamos realizar una solicitud http a esta URL, pero la solicitud falló sin obtener respuesta.
Ya probé diferentes métodos de intercepción de ciprés, pero no pude trabajar.
Ni siquiera puedo interceptar el punto final /token con lo siguiente:
cy.intercept({ method: 'POST', url: 'https://login.microsoftonline.com/2ba13024-a5f6-4b30-afa8-d673b5166d23/oauth2/v2.0/token', }).as('apiCheck')No estoy seguro sin ver la prueba completa, pero ¿está emitiendo el POST a microsoftonline desde dentro de la prueba usando cy.request() ?
Si es así, no puede usar cy.intercept() para capturarlo, solo se capturarán las solicitudes de la aplicación.
Pero puede agregar un .then() a cy.request() para esperar la respuesta.
cy.request({ method: 'POST', url: 'https://login.microsoftonline.com/.../oauth2/v2.0/token', }) .then(response => { // handle response }) Además, en este código req.reply() y req.continue() , ambos están agregando (con respuesta) y continuando hacia el servidor (con continuar), que son acciones opuestas. Solo querrías hacer una cosa o la otra.
cy.intercept('**/oauth2/v2.0/token', (req) => { req.reply({ token_type: "Bearer", expires_in: 3795, access_token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJS" }) req.continue((res) => { }) })