cypress-maildev
Version:
An easy-to-use cypress bunch of commands to use Maildev API for tests messages reception !
61 lines (60 loc) • 2.71 kB
TypeScript
import { Email } from "./types/Email";
declare global {
namespace Cypress {
interface Chainable {
/**
* Command to get all messages received inside Maildev.
* @example cy.maildevGetAllMessages()
*/
maildevGetAllMessages(): Cypress.Chainable<Email[]>;
/**
* Command to get the last message received inside Maildev.
* @example cy.maildevGetAllMessages()
*/
maildevGetLastMessage(): Cypress.Chainable<Email>;
/**
* Command to get a message by its subject.
* @example cy.maildevGetMessageBySubject("My subject")
*/
maildevGetMessageBySubject(subject: string): Cypress.Chainable<Email>;
/**
* Command to get a message by its Maildev ID.
* @example cy.maildevGetMessageById("MESSAGE_ID")
*/
maildevGetMessageById(id: string): Cypress.Chainable<Email>;
/**
* Command to get a message sent to an email.
* @example cy.maildevGetMessageBySentTo("john.do@example.com")
*/
maildevGetMessageBySentTo(email: string): Cypress.Chainable<Email>;
/**
* Command to visit Maildev frontend app directly to the view of an email by using his Maildev ID.
* And you can use Cypress promise to manipulate or assert the DOM of your email :
* @example cy.maildevVisitMessageById(id: String);
cy.get('body h1').should('have.text', 'Email incoming !');
cy.get('body a').should('exist').and('have.text', 'click on this link');
*/
maildevVisitMessageById(id: string): void;
/**
* From a string, extract a OTP code pattern
* @example cy.maildevGetAllMessages("my code is 123456", 6) => '123456'
*/
maildevGetOTPCode(str: string, digits: number): Cypress.Chainable<string | null>;
/**
* Command to delete a message by his Maildev ID.
* @example cy.maildevGetAllMessages()
*/
maildevDeleteMessageById(id: string): Cypress.Chainable<any>;
/**
* Command to delete a message by its Maildev ID.
* @example cy.maildevGetAllMessages()
*/
maildevDeleteAllMessages(): Cypress.Chainable<any>;
/**
* Command to check if Maildev is available, for debug purpose.
* @example cy.maildevGetAllMessages()
*/
maildevHealthcheck(): Cypress.Chainable<any>;
}
}
}