33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
import { test, mock } from 'node:test'
|
|
import assert from 'node:assert/strict'
|
|
import { createNamespacedDebug, logError } from '../app/logger.js'
|
|
|
|
test('createNamespacedDebug creates debug function with correct namespace', (t) => {
|
|
const debug = createNamespacedDebug('test')
|
|
assert.equal(typeof debug, 'function')
|
|
assert.equal(debug.namespace, 'webssh2:test')
|
|
})
|
|
|
|
test('logError logs error message without error object', (t) => {
|
|
const consoleMock = mock.method(console, 'error')
|
|
|
|
logError('test message')
|
|
|
|
assert.equal(consoleMock.mock.calls.length, 1)
|
|
assert.deepEqual(consoleMock.mock.calls[0].arguments, ['test message'])
|
|
|
|
consoleMock.mock.restore()
|
|
})
|
|
|
|
test('logError logs error message with error object', (t) => {
|
|
const consoleMock = mock.method(console, 'error')
|
|
const testError = new Error('test error')
|
|
|
|
logError('test message', testError)
|
|
|
|
assert.equal(consoleMock.mock.calls.length, 2)
|
|
assert.deepEqual(consoleMock.mock.calls[0].arguments, ['test message'])
|
|
assert.deepEqual(consoleMock.mock.calls[1].arguments, [`ERROR: ${testError}`])
|
|
|
|
consoleMock.mock.restore()
|
|
})
|