reorganizage du projet et mise en place d'un vrai build

This commit is contained in:
Puechberty Arthur
2026-04-13 19:42:38 +02:00
parent 0f82c7e287
commit 3eb23eb27a
30 changed files with 823 additions and 307 deletions
+39
View File
@@ -0,0 +1,39 @@
import assert from "node:assert/strict";
import test from "node:test";
import { defineCommand } from "../src/framework/commands/defineCommand.js";
test("defineCommand refuse un argument requis apres un optionnel", () => {
assert.throws(() => {
defineCommand({
meta: { name: "broken", category: "test" },
args: [
{ name: "optional", type: "string", required: false, descriptionKey: "args.optional" },
{ name: "required", type: "string", required: true, descriptionKey: "args.required" },
],
execute: async () => undefined,
});
});
});
test("defineCommand refuse un cooldown invalide", () => {
assert.throws(() => {
defineCommand({
meta: { name: "brokenCooldown", category: "test" },
cooldown: 0,
execute: async () => undefined,
});
});
});
test("defineCommand applique les valeurs par defaut", () => {
const command = defineCommand({
meta: { name: "ok", category: "test" },
execute: async () => undefined,
});
assert.deepEqual(command.args, []);
assert.deepEqual(command.permissions, []);
assert.deepEqual(command.examples, []);
assert.equal(command.cooldown, undefined);
});