corde
Version:
A simple library for Discord bot tests
63 lines (49 loc) • 1.56 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
exports.ToMessageContentContains = void 0;
const messageExpectTest_1 = require("./messageExpectTest");
class ToMessageContentContains extends messageExpectTest_1.MessageExpectTest {
constructor(params) {
super({ ...params, testName: "toMessageContentContains" });
}
async action(expect) {
if (!expect || expect.trim() === "") {
return this.createFailedTest("expected content can not be null or empty");
}
try {
await this.sendCommandMessage();
} catch (error) {
return this.createFailedTest(error.message);
}
let returnedMessage;
try {
returnedMessage = await this.cordeBot.events.onceMessage(
this.cordeBot.testBotId,
this.channelId,
this.timeout,
);
} catch {
if (this.isNot) {
return this.createPassTest();
}
return this.createReport(
"expected: testing bot to send a message\n",
"received: no message was sent",
);
}
this.hasPassed = returnedMessage.content.includes(expect);
this.invertHasPassedIfIsNot();
if (this.hasPassed) {
return this.createPassTest();
}
if (this.isNot) {
return this.createReport(
`expected: message '${returnedMessage.content}' from bot to not inclues '${expect}'`,
);
}
return this.createFailedTest(`expected '${returnedMessage.content}' to contains '${expect}'`);
}
}
exports.ToMessageContentContains = ToMessageContentContains;