UNPKG

cypress-maildev

Version:

An easy-to-use cypress bunch of commands to use Maildev API for tests messages reception !

93 lines (92 loc) 3.79 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.MaildevCommands = void 0; /* global Cypress */ var request_1 = __importDefault(require("./request")); var MaildevCommands = /** @class */ (function () { function MaildevCommands() { this.baseUrl = "".concat(Cypress.env("MAILDEV_PROTOCOL"), "://").concat(Cypress.env("MAILDEV_HOST")); if (Cypress.env("MAILDEV_API_PORT")) { this.baseUrl += ":".concat(Cypress.env("MAILDEV_API_PORT")); } this.request = new request_1.default({ baseUrl: this.baseUrl, }); } Object.defineProperty(MaildevCommands, "cypressCommands", { get: function () { return [ "maildevGetAllMessages", "maildevGetLastMessage", "maildevGetMessageById", "maildevVisitMessageById", "maildevGetMessageBySubject", "maildevGetMessageBySentTo", "maildevDeleteMessageById", "maildevGetOTPCode", "maildevDeleteAllMessages", "maildevHealthcheck", ]; }, enumerable: false, configurable: true }); MaildevCommands.prototype.maildevGetAllMessages = function () { return this.request.get("/email"); }; MaildevCommands.prototype.maildevGetLastMessage = function () { return this.maildevGetAllMessages().then(function (emails) { return emails[emails.length - 1]; }); }; MaildevCommands.prototype.maildevGetMessageById = function (id) { return this.request.get("/email/".concat(id)); }; MaildevCommands.prototype.maildevVisitMessageById = function (id) { cy.origin("".concat(this.baseUrl), { args: { id: id } }, function (_a) { var id = _a.id; cy.visit("/email/".concat(id, "/html")); }); }; MaildevCommands.prototype.maildevGetMessageBySubject = function (str) { return this.maildevGetAllMessages().then(function (emails) { var _a; return (_a = emails.find(function (email) { return email.subject === str; })) !== null && _a !== void 0 ? _a : null; }); }; MaildevCommands.prototype.maildevGetMessageBySentTo = function (address) { return this.maildevGetAllMessages().then(function (messages) { var reversedMessages = messages.reverse(); for (var _i = 0, reversedMessages_1 = reversedMessages; _i < reversedMessages_1.length; _i++) { var message = reversedMessages_1[_i]; for (var _a = 0, _b = message.to; _a < _b.length; _a++) { var to = _b[_a]; if (to.address === address) { return message; } } } return null; }); }; MaildevCommands.prototype.maildevDeleteMessageById = function (id) { return this.request.delete("/email/".concat(id)); }; MaildevCommands.prototype.maildevGetOTPCode = function (str, digits) { if (digits === void 0) { digits = 6; } var OTP_REGEXP = new RegExp("\\d{" + digits + "}"); var res = str.match(OTP_REGEXP); return cy.wrap(res ? res[0] : null); }; MaildevCommands.prototype.maildevDeleteAllMessages = function () { return this.request.delete("/email/all"); }; MaildevCommands.prototype.maildevHealthcheck = function () { return this.request.get("/healthz"); }; return MaildevCommands; }()); exports.MaildevCommands = MaildevCommands;