mirror of
https://github.com/pieartsy/PluralFlux.git
synced 2026-04-15 00:15:28 +10:00
Fix: Further converting ES6 to CJS - Making exports named instead of default (#26)
* adding to git ignore * making imports named not default to not break all my tests * adjusted setup for memberhelper test --------- Co-authored-by: Aster Fialla <asterfialla@gmail.com>
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -5,4 +5,6 @@ config.json
|
||||
coverage
|
||||
log.txt
|
||||
.env
|
||||
oya.png
|
||||
oya.png
|
||||
variables.env
|
||||
.env.production
|
||||
18
src/bot.js
18
src/bot.js
@@ -1,10 +1,10 @@
|
||||
const {Client, Events, Message} = require('@fluxerjs/core');
|
||||
const messageHelper = require("./helpers/messageHelper.js");
|
||||
const enums = require("./enums.js");
|
||||
const commands = require("./commands.js");
|
||||
const webhookHelper = require("./helpers/webhookHelper.js");
|
||||
const {messageHelper} = require("./helpers/messageHelper.js");
|
||||
const {enums} = require("./enums.js");
|
||||
const {commands} = require("./commands.js");
|
||||
const {webhookHelper} = require("./helpers/webhookHelper.js");
|
||||
const env = require('dotenv');
|
||||
const utils = require("./helpers/utils.js");
|
||||
const {utils} = require("./helpers/utils.js");
|
||||
|
||||
env.config();
|
||||
|
||||
@@ -15,7 +15,9 @@ if (!token) {
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const client = new Client({ intents: 0 });
|
||||
client = new Client({ intents: 0 });
|
||||
|
||||
module.exports.client = client;
|
||||
|
||||
client.on(Events.MessageCreate, async (message) => {
|
||||
await handleMessageCreate(message);
|
||||
@@ -28,7 +30,7 @@ client.on(Events.MessageCreate, async (message) => {
|
||||
* @param {Message} message - The message object
|
||||
*
|
||||
**/
|
||||
exports.handleMessageCreate = async function(message) {
|
||||
module.exports.handleMessageCreate = async function(message) {
|
||||
try {
|
||||
// Ignore bots
|
||||
if (message.author.bot) return;
|
||||
@@ -81,7 +83,7 @@ function printGuilds() {
|
||||
const debouncePrintGuilds = utils.debounce(printGuilds, 2000);
|
||||
// export const debounceLogin = utils.debounce(client.login, 60000);
|
||||
|
||||
exports.login = async function() {
|
||||
module.exports.login = async function() {
|
||||
try {
|
||||
await client.login(token);
|
||||
// await db.check_connection();
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const messageHelper = require("./helpers/messageHelper.js");
|
||||
const enums = require("./enums.js");
|
||||
const memberHelper = require("./helpers/memberHelper.js");
|
||||
const {messageHelper} = require("./helpers/messageHelper.js");
|
||||
const {enums} = require("./enums.js");
|
||||
const {memberHelper} = require("./helpers/memberHelper.js");
|
||||
const {EmbedBuilder} = require("@fluxerjs/core");
|
||||
const importHelper = require("./helpers/importHelper.js");
|
||||
const {importHelper} = require("./helpers/importHelper.js");
|
||||
|
||||
const commands = {
|
||||
commandsMap: new Map(),
|
||||
@@ -119,4 +119,4 @@ commands.importCommand = async function (message, args) {
|
||||
|
||||
}
|
||||
|
||||
module.exports = commands;
|
||||
module.exports.commands = commands;
|
||||
@@ -83,4 +83,4 @@ async function syncModels() {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = database;
|
||||
module.exports.database = database;
|
||||
@@ -50,4 +50,4 @@ enums.misc = {
|
||||
|
||||
}
|
||||
|
||||
module.exports = enums;
|
||||
module.exports.enums = enums;
|
||||
@@ -1,5 +1,5 @@
|
||||
const enums = require("../enums.js");
|
||||
const memberHelper = require("./memberHelper.js");
|
||||
const {enums} = require("../enums.js");
|
||||
const {memberHelper} = require("./memberHelper.js");
|
||||
|
||||
const importHelper = {};
|
||||
|
||||
@@ -55,4 +55,4 @@ importHelper.pluralKitImport = async function (authorId, attachmentUrl= null) {
|
||||
return aggregatedText;
|
||||
}
|
||||
|
||||
module.exports = importHelper;
|
||||
exports.importHelper = importHelper;
|
||||
@@ -1,8 +1,8 @@
|
||||
const database = require('../database.js');
|
||||
const enums = require("../enums.js");
|
||||
const {database} = require('../database.js');
|
||||
const {enums} = require("../enums.js");
|
||||
const {Op} = require("sequelize");
|
||||
const {EmbedBuilder} = require("@fluxerjs/core");
|
||||
const utils = require("./utils.js");
|
||||
const {utils} = require("./utils.js");
|
||||
|
||||
const memberHelper = {};
|
||||
|
||||
@@ -365,20 +365,21 @@ memberHelper.addFullMember = async function (authorId, memberName, displayName =
|
||||
}
|
||||
}
|
||||
|
||||
let isValidPropic;
|
||||
let isValidPropic, expirationWarning;
|
||||
if (propic && propic.length > 0) {
|
||||
try {
|
||||
isValidPropic = await utils.checkImageFormatValidity(propic);
|
||||
expirationWarning = utils.setExpirationWarning(propic, attachmentExpiration);
|
||||
if (expirationWarning) {
|
||||
errors.push(expirationWarning);
|
||||
}
|
||||
}
|
||||
catch(e) {
|
||||
errors.push(`Tried to set profile picture to \"${propic}\". ${e.message}. ${enums.err.SET_TO_NULL}`);
|
||||
isValidPropic = false;
|
||||
}
|
||||
}
|
||||
const expirationWarning = utils.setExpirationWarning(propic, attachmentExpiration);
|
||||
if (expirationWarning) {
|
||||
errors.push(expirationWarning);
|
||||
}
|
||||
|
||||
const member = await database.members.create({
|
||||
name: memberName, userid: authorId, displayname: isValidDisplayName ? displayName : null, proxy: isValidProxy ? proxy : null, propic: isValidPropic ? propic : null
|
||||
});
|
||||
@@ -516,4 +517,4 @@ memberHelper.getMemberCommandInfo = function() {
|
||||
}
|
||||
|
||||
|
||||
module.exports = memberHelper;
|
||||
module.exports.memberHelper = memberHelper;
|
||||
@@ -1,8 +1,8 @@
|
||||
const memberHelper = require('./memberHelper.js');
|
||||
const {memberHelper} = require('./memberHelper.js');
|
||||
|
||||
const messageHelper = {};
|
||||
const msgh = {};
|
||||
|
||||
messageHelper.prefix = "pf;"
|
||||
msgh.prefix = "pf;"
|
||||
|
||||
/**
|
||||
* Parses and slices up message arguments, retaining quoted strings.
|
||||
@@ -11,8 +11,8 @@ messageHelper.prefix = "pf;"
|
||||
* @param {string} commandName - The command name.
|
||||
* @returns {string[]} An array of arguments.
|
||||
*/
|
||||
messageHelper.parseCommandArgs = function(content, commandName) {
|
||||
const message = content.slice(messageHelper.prefix.length + commandName.length).trim();
|
||||
msgh.parseCommandArgs = function(content, commandName) {
|
||||
const message = content.slice(msgh.prefix.length + commandName.length).trim();
|
||||
|
||||
return message.match(/\\?.|^$/g).reduce((accumulator, chara) => {
|
||||
if (chara === '\"' || chara === '\'') {
|
||||
@@ -38,7 +38,7 @@ messageHelper.parseCommandArgs = function(content, commandName) {
|
||||
* @param {string | null} [attachmentUrl] - The url for an attachment to the message, if any exists.
|
||||
* @returns {Promise<{model, string, bool}>} The proxy message object.
|
||||
*/
|
||||
messageHelper.parseProxyTags = async function (authorId, content, attachmentUrl = null){
|
||||
msgh.parseProxyTags = async function (authorId, content, attachmentUrl = null){
|
||||
const members = await memberHelper.getMembersByAuthor(authorId);
|
||||
// If an author has no members, no sense in searching for proxy
|
||||
if (members.length === 0) {
|
||||
@@ -70,7 +70,7 @@ messageHelper.parseProxyTags = async function (authorId, content, attachmentUrl
|
||||
* @returns {{text: string, file: Buffer<ArrayBuffer> | undefined}} The text and buffer object
|
||||
*
|
||||
*/
|
||||
messageHelper.returnBufferFromText = function (text) {
|
||||
msgh.returnBufferFromText = function (text) {
|
||||
if (text.length > 2000) {
|
||||
const truncated = text.substring(0, 2000);
|
||||
const restOfText = text.substring(2000);
|
||||
@@ -80,4 +80,4 @@ messageHelper.returnBufferFromText = function (text) {
|
||||
return {text: text, file: undefined}
|
||||
}
|
||||
|
||||
module.exports = messageHelper;
|
||||
module.exports.messageHelper = msgh;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const enums = require('../enums');
|
||||
const {enums} = require('../enums');
|
||||
|
||||
const utils = {};
|
||||
|
||||
@@ -54,4 +54,4 @@ utils.setExpirationWarning = function (imgUrl = null, expirationString = null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
module.exports = utils;
|
||||
module.exports.utils = utils;
|
||||
|
||||
@@ -93,4 +93,4 @@ webhookHelper.getWebhook = async function(client, channel) {
|
||||
return channelWebhooks.find((webhook) => webhook.name === name);
|
||||
}
|
||||
|
||||
module.exports = webhookHelper;
|
||||
module.exports.webhookHelper = webhookHelper;
|
||||
@@ -590,6 +590,7 @@ describe('MemberHelper', () => {
|
||||
proxy: null,
|
||||
propic: null
|
||||
}
|
||||
utils.setExpirationWarning = jest.fn().mockReturnValue();
|
||||
database.members.create = jest.fn().mockResolvedValue(expectedMemberArgs);
|
||||
const expectedReturn = {member: expectedMemberArgs, errors: []}
|
||||
// Act
|
||||
@@ -628,12 +629,12 @@ describe('MemberHelper', () => {
|
||||
test('calls setExpirationWarning if attachmentExpiration exists', async () => {
|
||||
// Arrange
|
||||
utils.checkImageFormatValidity = jest.fn().mockResolvedValue(true);
|
||||
jest.spyOn(memberHelper, 'setExpirationWarning').mockReturnValue(`${enums.misc.ATTACHMENT_EXPIRATION_WARNING}`);
|
||||
utils.setExpirationWarning = jest.fn().mockReturnValue(`${enums.misc.ATTACHMENT_EXPIRATION_WARNING}`);
|
||||
// Act
|
||||
await memberHelper.addFullMember(authorId, mockMember.name, null, null, mockMember.propic, attachmentExpiration)
|
||||
// Assert
|
||||
expect(memberHelper.setExpirationWarning).toHaveBeenCalledTimes(1);
|
||||
expect(memberHelper.setExpirationWarning).toHaveBeenCalledWith(mockMember.propic, attachmentExpiration);
|
||||
expect(utils.setExpirationWarning).toHaveBeenCalledTimes(1);
|
||||
expect(utils.setExpirationWarning).toHaveBeenCalledWith(mockMember.propic, attachmentExpiration);
|
||||
})
|
||||
|
||||
test('if all values are valid, call database.members.create', async () => {
|
||||
@@ -648,6 +649,7 @@ describe('MemberHelper', () => {
|
||||
}
|
||||
database.members.create = jest.fn().mockResolvedValue(expectedMemberArgs);
|
||||
utils.checkImageFormatValidity = jest.fn().mockResolvedValue(true);
|
||||
utils.setExpirationWarning = jest.fn().mockReturnValue();
|
||||
const expectedReturn = {member: expectedMemberArgs, errors: []}
|
||||
// Act
|
||||
const res = await memberHelper.addFullMember(authorId, mockMember.name, mockMember.displayname, mockMember.proxy, mockMember.propic);
|
||||
@@ -662,7 +664,7 @@ describe('MemberHelper', () => {
|
||||
describe('updateMemberField', () => {
|
||||
const {database} = require('../../src/database.js');
|
||||
beforeEach(() => {
|
||||
jest.spyOn(memberHelper, "setExpirationWarning").mockReturnValue(' warning');
|
||||
utils.setExpirationWarning = jest.fn().mockReturnValue(`warning`);
|
||||
database.members = {
|
||||
update: jest.fn().mockResolvedValue([1])
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user