Compare commits
5 commits
49f4f4f804
...
425266eed9
Author | SHA1 | Date | |
---|---|---|---|
425266eed9 | |||
a718011640 | |||
a7b9a3a463 | |||
097b7284e6 | |||
fef80709ee |
4 changed files with 77 additions and 10 deletions
10
package.json
10
package.json
|
@ -7,7 +7,7 @@
|
|||
"clean": "rm -rf node_modules/ dist/",
|
||||
"build": "tsc",
|
||||
"start": "node ./dist/bot.js",
|
||||
"test": "jest --passWithNoTests",
|
||||
"test": "jest",
|
||||
"lint": "eslint .",
|
||||
"lint:fix": "eslint . --fix",
|
||||
"db:up": "typeorm migration:run -d dist/database/dataSources/appDataSource.js",
|
||||
|
@ -15,11 +15,11 @@
|
|||
"db:create": "typeorm migration:create ./src/database/migrations/app/new",
|
||||
"release": "np --no-publish"
|
||||
},
|
||||
"repository": "https://gitea.vylpes.xyz/External/card-drop.git",
|
||||
"repository": "https://git.vylpes.xyz/External/card-drop.git",
|
||||
"author": "Ethan Lane <ethan@vylpes.com>",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https//gitea.vylpes.xyz/External/card-drop/issues",
|
||||
"url": "https//git.vylpes.xyz/External/card-drop/issues",
|
||||
"email": "helpdesk@vylpes.com"
|
||||
},
|
||||
"homepage": "https://gitea.vylpes.xyz/External/card-drop",
|
||||
|
@ -49,8 +49,8 @@
|
|||
"winston-daily-rotate-file": "^5.0.0",
|
||||
"winston-discord-transport": "^1.3.0"
|
||||
},
|
||||
"overrides": {
|
||||
"undici": "^5.28.3"
|
||||
"resolutions": {
|
||||
"**/ws": "^8.17.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.0.0",
|
||||
|
|
|
@ -16,7 +16,8 @@ export default class AllBalance extends Command {
|
|||
public override async execute(interaction: CommandInteraction) {
|
||||
const users = await User.FetchAll(User);
|
||||
|
||||
const filteredUsers = users.filter(x => x.Currency > 0);
|
||||
const filteredUsers = users.filter(x => x.Currency > 0)
|
||||
.sort((a, b) => b.Currency - a.Currency);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setColor(EmbedColours.Ok)
|
||||
|
|
66
tests/registry.test.ts
Normal file
66
tests/registry.test.ts
Normal file
|
@ -0,0 +1,66 @@
|
|||
import {CoreClient} from "../src/client/client";
|
||||
import Registry from "../src/registry";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
|
||||
describe("RegisterCommands", () => {
|
||||
test("EXPECT every command in the commands folder to be registered", () => {
|
||||
const registeredCommands: string[] = [];
|
||||
|
||||
CoreClient.RegisterCommand = jest.fn().mockImplementation((name: string) => {
|
||||
registeredCommands.push(name);
|
||||
});
|
||||
|
||||
Registry.RegisterCommands();
|
||||
|
||||
const commandFiles = getFilesInDirectory(path.join(process.cwd(), "src", "commands"))
|
||||
.filter(x => x.endsWith(".ts"));
|
||||
|
||||
for (const file of commandFiles) {
|
||||
expect(registeredCommands).toContain(file.split("/").pop()!.split(".")[0]);
|
||||
}
|
||||
|
||||
expect(commandFiles.length).toBe(registeredCommands.length);
|
||||
});
|
||||
});
|
||||
|
||||
describe("RegisterButtonEvents", () => {
|
||||
test("EXEPCT every button event in the button events folder to be registered", () => {
|
||||
const registeredButtonEvents: string[] = [];
|
||||
|
||||
CoreClient.RegisterButtonEvent = jest.fn().mockImplementation((name: string) => {
|
||||
registeredButtonEvents.push(name);
|
||||
});
|
||||
|
||||
Registry.RegisterButtonEvents();
|
||||
|
||||
const eventFiles = getFilesInDirectory(path.join(process.cwd(), "src", "buttonEvents"))
|
||||
.filter(x => x.endsWith(".ts"));
|
||||
|
||||
for (const file of eventFiles) {
|
||||
expect(registeredButtonEvents).toContain(file.split("/").pop()!.split(".")[0].toLowerCase());
|
||||
}
|
||||
|
||||
expect(eventFiles.length).toBe(registeredButtonEvents.length);
|
||||
});
|
||||
});
|
||||
|
||||
function getFilesInDirectory(dir: string): string[] {
|
||||
let results: string[] = [];
|
||||
const list = fs.readdirSync(dir);
|
||||
|
||||
list.forEach(file => {
|
||||
file = path.join(dir, file);
|
||||
const stat = fs.statSync(file);
|
||||
|
||||
if (stat && stat.isDirectory()) {
|
||||
/* recurse into a subdirectory */
|
||||
results = results.concat(getFilesInDirectory(file));
|
||||
} else {
|
||||
/* is a file */
|
||||
results.push(file);
|
||||
}
|
||||
});
|
||||
|
||||
return results;
|
||||
}
|
|
@ -6838,10 +6838,10 @@ write-file-atomic@^4.0.2:
|
|||
imurmurhash "^0.1.4"
|
||||
signal-exit "^3.0.7"
|
||||
|
||||
ws@^8.16.0:
|
||||
version "8.17.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.0.tgz#d145d18eca2ed25aaf791a183903f7be5e295fea"
|
||||
integrity sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==
|
||||
ws@^8.16.0, ws@^8.17.1:
|
||||
version "8.18.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc"
|
||||
integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
|
||||
|
||||
xdg-basedir@^5.0.1, xdg-basedir@^5.1.0:
|
||||
version "5.1.0"
|
||||
|
|
Loading…
Reference in a new issue