Estoy tratando de guardar el cuerpo de mi solicitud como una variable en Cypress, para poder usar el mismo cuerpo para otra solicitud. ¿Cómo puedo hacerlo?
El siguiente código funciona, pero necesito guardar BODY como una variable para otra solicitud. ¿Hay una manera fácil de hacerlo?
cy.request({ url: "/api/affiliate/create", method: "POST", headers: { Authorization: `bearer ${access_token}`, }, body: { "address": Random.address, "address_complement": Random.address_complement, "address_city": Random.address_city, "address_number": `${Random.address_number}`, "address_district": Random.address_district, "address_state": Random.address_state, "cep": `${Random.cep}`, "cnpj": Random.cnpj, "company_name": Random.company_name, "headquarters": fAffiliate.headquarters[1], "ie": `${Random.ie}`, "phone": Random.phone, "rntrc": `${Random.rntrc}`, "status": fAffiliate.status[0], "trading_name": Random.trading_name }Póngalo primero en una variable, luego use la variable en la llamada de Cypress.
const body = { "address": Random.address, "address_complement": Random.address_complement, "address_city": Random.address_city, "address_number": `${Random.address_number}`, "address_district": Random.address_district, "address_state": Random.address_state, "cep": `${Random.cep}`, "cnpj": Random.cnpj, "company_name": Random.company_name, "headquarters": fAffiliate.headquarters[1], "ie": `${Random.ie}`, "phone": Random.phone, "rntrc": `${Random.rntrc}`, "status": fAffiliate.status[0], "trading_name": Random.trading_name }; cy.request({ url: "/api/affiliate/create", method: "POST", headers: { Authorization: `bearer ${access_token}`, }, body: body }) Luego puede usar la variable del body nuevamente para una segunda solicitud.
También puede guardarlo como accesorio, para usarlo en más de una especificación.
En /soporte/index.js
const body = {...} cy.writeFile('cypress/fixtures/request-body.json', body)En la prueba
cy.fixture('request-body.json').then(body => { cy.request({ url: "/api/affiliate/create", method: "POST", headers: { Authorization: `bearer ${access_token}`, }, body }) })