Files
AuroraBot-discord/src/lib/logger.test.ts
2026-01-07 13:47:02 +01:00

39 lines
1.3 KiB
TypeScript

import { describe, it, expect, beforeEach } from "bun:test";
import { logger, getRecentLogs } from "./logger";
describe("Logger Buffer", () => {
// Note: Since the buffer is a module-level variable, it persists across tests.
// In a real scenario we might want a reset function, but for now we'll just check relative additions.
it("should add logs to the buffer", () => {
const initialLength = getRecentLogs().length;
logger.info("Test Info Log");
const newLogs = getRecentLogs();
expect(newLogs.length).toBe(initialLength + 1);
expect(newLogs[0]?.message).toBe("Test Info Log");
expect(newLogs[0]?.type).toBe("info");
});
it("should cap the buffer size at 50", () => {
// Fill the buffer
for (let i = 0; i < 60; i++) {
logger.debug(`Log overflow test ${i}`);
}
const logs = getRecentLogs();
expect(logs.length).toBeLessThanOrEqual(50);
expect(logs[0]?.message).toBe("Log overflow test 59");
});
it("should handle different log levels", () => {
logger.error("Critical Error");
logger.success("Operation Successful");
const logs = getRecentLogs();
expect(logs[0]?.type).toBe("success");
expect(logs[1]?.type).toBe("error");
});
});