Tengo una prueba de ciprés sobre una API. Cuando lo hago
cy.getUnits(u.email)Estoy esperando una respuesta 200 OK similar a esta en el cuerpo de la respuesta
{ “units”: [ { “store: “US_1234567890”, “role”: “user”, “email”: “user1@gmail.com” }, { “store: “CA_865890X”, “role”: “admin”, “email”: “user1@gmail.com” } ] }Espero que esa lista de unidades no contenga la unidad "u" a continuación
const u = { “store: ” US_56890765", “role”: “admin”, “email”: “user1@gmail.com” }Así que en ciprés, lo hice
cy.getUnits(u.email) .should(response => expect(response.status).to.equal(200)) .its('body') .should(units => { expect(units.length).to.equal(2) units.filter( unit => unit.email === u.email && unit.role === u.role && unit.store === u.store, ).should.be.undefined })eso no esta funcionando
units.filter( unit => unit.email === u.email && unit.role === u.role && unit.store === u.store, ).should.be.undefinedHe probado diferentes variaciones sin éxito.
¿Podría alguien por favor ayudarme a encontrar una solución a esto?
Realmente aprecio cualquier ayuda que pueda proporcionar.
Desea verificar la longitud de la matriz filtrada
.should(units => { expect(units.length).to.equal(2) const filtered = units.filter(unit => unit.email === u.email && unit.role === u.role && unit.store === u.store ) expect(filtered).to.have.length(0) })