Estoy tratando de stub location.href de esta referencia: https://medium.com/cypress-io-thailand/understand-stub-spy-apis-that-will-make-your-test-better-than-ever -on-cypress-io-797cb9eb205a y descubrí que las propiedades del código auxiliar utilizadas ya están obsoletas, así que solucioné las nuevas connotaciones:
stub(obj, 'meth').callsFake(fn)Después de varias pruebas, me quedé atascado porque el stub parece no llamarse correctamente. Aquí está mi código:
const winSetLocationHrefStub = (url) => { expect(url).to.eq('setLocationHref')}; cy.window().then((win) => { cy.stub(win,'setLocationHref').callsFake(winSetLocationHrefStub)}); cy.get(.button).click()Sabía que para agregar una propiedad location.href, necesitamos crear fn en el archivo main.js, así que aquí está el código main.js.
export const setLocationHref = (url) => { window.location.href = url; }; const WhatsAppEnquireButton = (props) => { useEffect(() => { window.setLocationHref = setLocationHref; }, []); const handleOnClick = (e) => { setLocationHref(formatWhatsAppUrl(foo, bar));¿Cómo hacer que apague correctamente el botón en el que hice clic?