UNPKG

corde

Version:

A simple library for Discord bot tests

75 lines (59 loc) 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true, }); exports.ToPinMessage = void 0; const utils_1 = require("../../../utils"); const messageExpectTest_1 = require("./messageExpectTest"); class ToPinMessage extends messageExpectTest_1.MessageExpectTest { constructor(params) { super({ ...params, testName: "toPinMessage" }); } async action(messageIdentifier) { if ( !messageIdentifier || ((0, utils_1.typeOf)(messageIdentifier) !== "string" && (0, utils_1.typeOf)(messageIdentifier) !== "object") ) { return this.createReport( "expected: message identifier to be a string or a IMessageIdentifier object\n", `received: ${(0, utils_1.typeOf)(messageIdentifier)}`, ); } let _msgIdentifier; if (typeof messageIdentifier === "string") { _msgIdentifier = { id: messageIdentifier, }; } else { _msgIdentifier = messageIdentifier; } try { await this.sendCommandMessage(); } catch (error) { return this.createFailedTest(error.message); } const msgString = this.humanizeMessageIdentifierObject(_msgIdentifier); try { await this.cordeBot.events.onceMessagePinned(_msgIdentifier, this.timeout, this.channelId); } catch { if (this.isNot) { return this.createPassTest(); } return this.createReport( `expected: pin ${msgString}\n`, "received: informed message was not pinned", ); } this.hasPassed = true; this.invertHasPassedIfIsNot(); if (this.hasPassed) { return this.createPassTest(); } return this.createReport( `expected: to ${this.isNot ? "not " : ""}pin ${msgString}\n`, "received: message pin = false", ); } } exports.ToPinMessage = ToPinMessage;