48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
// server
|
|
// tests/logger.test.js
|
|
|
|
const createDebug = require("debug")
|
|
const { createNamespacedDebug, logError } = require("../app/logger")
|
|
|
|
jest.mock("debug")
|
|
|
|
describe("logger", () => {
|
|
beforeEach(() => {
|
|
jest.clearAllMocks()
|
|
console.error = jest.fn()
|
|
})
|
|
|
|
describe("createNamespacedDebug", () => {
|
|
it("should create a debug function with the correct namespace", () => {
|
|
const mockDebug = jest.fn()
|
|
createDebug.mockReturnValue(mockDebug)
|
|
|
|
const result = createNamespacedDebug("test")
|
|
|
|
expect(createDebug).toHaveBeenCalledWith("webssh2:test")
|
|
expect(result).toBe(mockDebug)
|
|
})
|
|
})
|
|
|
|
describe("logError", () => {
|
|
it("should log an error message without an error object", () => {
|
|
const message = "Test error message"
|
|
|
|
logError(message)
|
|
|
|
expect(console.error).toHaveBeenCalledWith(message)
|
|
expect(console.error).toHaveBeenCalledTimes(1)
|
|
})
|
|
|
|
it("should log an error message with an error object", () => {
|
|
const message = "Test error message"
|
|
const error = new Error("Test error")
|
|
|
|
logError(message, error)
|
|
|
|
expect(console.error).toHaveBeenCalledWith(message)
|
|
expect(console.error).toHaveBeenCalledWith("ERROR: Error: Test error")
|
|
expect(console.error).toHaveBeenCalledTimes(2)
|
|
})
|
|
})
|
|
})
|