En un archivo .ts, creo una prueba para intentar acceder a un comando personalizado creado desde command.js, la función createInbox está subrayada en rojo con el siguiente mensaje: La propiedad 'createInbox' no existe en el tipo 'cy & EventEmitter
it.only('dsdsds', () => { cy.createInbox().then((inbox) => { console.log(inbox); // { id: '...', emailAddress: '...' } }); })Mi archivo command.js se ve así
const { MailSlurp } = require("mailslurp-client"); const mailslurp = new MailSlurp(Cypress.env("mailSlurpApiKey")); Cypress.Commands.add("createInbox", () => { return mailslurp.createInbox(); }); Cypress.Commands.add("waitForLatestEmail", (inboxId) => { return mailslurp.waitForLatestEmail(inboxId); });Entiendo que tengo que cambiar el nombre de command.js a ts, sin embargo, cuando lo hago, todos los comandos personalizados se subrayan en rojo con el siguiente error: el argumento de tipo '"waitForLatestEmail"' no se puede asignar al parámetro de tipo 'keyof Chainable
¿Cómo podría arreglar esto?
Resuelto agregando una interfaz encadenable personalizada a la carpeta de soporte
declare namespace Cypress { interface Chainable { createInbox(): Chainable<any>; waitForLatestEmail(inboxId: number): Chainable<any>; } }